ng-virtual-list 15.0.21 → 15.0.23

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 (94) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/ng-package.json +7 -0
  4. package/package.json +29 -48
  5. package/src/lib/components/ng-virtual-list-item.component.html +9 -0
  6. package/src/lib/components/ng-virtual-list-item.component.scss +17 -0
  7. package/src/lib/components/ng-virtual-list-item.component.spec.ts +23 -0
  8. package/src/lib/components/ng-virtual-list-item.component.ts +111 -0
  9. package/src/lib/const/index.ts +67 -0
  10. package/{lib/enums/direction.d.ts → src/lib/enums/direction.ts} +1 -0
  11. package/{lib/enums/directions.d.ts → src/lib/enums/directions.ts} +4 -4
  12. package/{lib/enums/index.d.ts → src/lib/enums/index.ts} +4 -1
  13. package/{lib/models/collection.model.d.ts → src/lib/models/collection.model.ts} +2 -2
  14. package/{lib/models/index.d.ts → src/lib/models/index.ts} +8 -1
  15. package/{lib/models/item.model.d.ts → src/lib/models/item.model.ts} +2 -1
  16. package/{lib/models/render-collection.model.d.ts → src/lib/models/render-collection.model.ts} +2 -2
  17. package/{lib/models/render-item-config.model.d.ts → src/lib/models/render-item-config.model.ts} +2 -2
  18. package/{lib/models/render-item.model.d.ts → src/lib/models/render-item.model.ts} +2 -1
  19. package/{lib/models/scroll-event.model.d.ts → src/lib/models/scroll-event.model.ts} +1 -0
  20. package/{lib/models/sticky-map.model.d.ts → src/lib/models/sticky-map.model.ts} +1 -1
  21. package/src/lib/ng-virtual-list.component.html +5 -0
  22. package/src/lib/ng-virtual-list.component.scss +28 -0
  23. package/src/lib/ng-virtual-list.component.spec.ts +23 -0
  24. package/src/lib/ng-virtual-list.component.ts +671 -0
  25. package/src/lib/ng-virtual-list.module.ts +12 -0
  26. package/{lib/types/id.d.ts → src/lib/types/id.ts} +1 -1
  27. package/{lib/types/index.d.ts → src/lib/types/index.ts} +6 -1
  28. package/{lib/types/rect.d.ts → src/lib/types/rect.ts} +2 -1
  29. package/{lib/types/size.d.ts → src/lib/types/size.ts} +1 -1
  30. package/src/lib/utils/cacheMap.ts +224 -0
  31. package/src/lib/utils/debounce.ts +31 -0
  32. package/src/lib/utils/disposableComponent.ts +22 -0
  33. package/src/lib/utils/eventEmitter.ts +119 -0
  34. package/{lib/utils/index.d.ts → src/lib/utils/index.ts} +9 -1
  35. package/src/lib/utils/isDirection.ts +17 -0
  36. package/src/lib/utils/scrollEvent.ts +62 -0
  37. package/src/lib/utils/toggleClassName.ts +14 -0
  38. package/src/lib/utils/trackBox.ts +839 -0
  39. package/src/lib/utils/tracker.ts +126 -0
  40. package/{public-api.d.ts → src/public-api.ts} +4 -0
  41. package/tsconfig.lib.json +15 -0
  42. package/tsconfig.lib.prod.json +11 -0
  43. package/tsconfig.spec.json +15 -0
  44. package/esm2020/lib/components/ng-virtual-list-item.component.mjs +0 -87
  45. package/esm2020/lib/const/index.mjs +0 -35
  46. package/esm2020/lib/enums/direction.mjs +0 -2
  47. package/esm2020/lib/enums/directions.mjs +0 -18
  48. package/esm2020/lib/enums/index.mjs +0 -3
  49. package/esm2020/lib/models/collection.model.mjs +0 -3
  50. package/esm2020/lib/models/index.mjs +0 -2
  51. package/esm2020/lib/models/item.model.mjs +0 -3
  52. package/esm2020/lib/models/render-collection.model.mjs +0 -3
  53. package/esm2020/lib/models/render-item-config.model.mjs +0 -2
  54. package/esm2020/lib/models/render-item.model.mjs +0 -3
  55. package/esm2020/lib/models/scroll-direction.model.mjs +0 -2
  56. package/esm2020/lib/models/scroll-event.model.mjs +0 -2
  57. package/esm2020/lib/models/sticky-map.model.mjs +0 -2
  58. package/esm2020/lib/ng-virtual-list.component.mjs +0 -508
  59. package/esm2020/lib/ng-virtual-list.module.mjs +0 -20
  60. package/esm2020/lib/types/id.mjs +0 -2
  61. package/esm2020/lib/types/index.mjs +0 -2
  62. package/esm2020/lib/types/rect.mjs +0 -2
  63. package/esm2020/lib/types/size.mjs +0 -2
  64. package/esm2020/lib/utils/cacheMap.mjs +0 -167
  65. package/esm2020/lib/utils/debounce.mjs +0 -31
  66. package/esm2020/lib/utils/disposableComponent.mjs +0 -29
  67. package/esm2020/lib/utils/eventEmitter.mjs +0 -106
  68. package/esm2020/lib/utils/index.mjs +0 -8
  69. package/esm2020/lib/utils/isDirection.mjs +0 -15
  70. package/esm2020/lib/utils/scrollEvent.mjs +0 -42
  71. package/esm2020/lib/utils/toggleClassName.mjs +0 -15
  72. package/esm2020/lib/utils/trackBox.mjs +0 -623
  73. package/esm2020/lib/utils/tracker.mjs +0 -92
  74. package/esm2020/ng-virtual-list.mjs +0 -5
  75. package/esm2020/public-api.mjs +0 -8
  76. package/fesm2015/ng-virtual-list.mjs +0 -1767
  77. package/fesm2015/ng-virtual-list.mjs.map +0 -1
  78. package/fesm2020/ng-virtual-list.mjs +0 -1776
  79. package/fesm2020/ng-virtual-list.mjs.map +0 -1
  80. package/index.d.ts +0 -5
  81. package/lib/components/ng-virtual-list-item.component.d.ts +0 -30
  82. package/lib/const/index.d.ts +0 -33
  83. package/lib/ng-virtual-list.component.d.ts +0 -165
  84. package/lib/ng-virtual-list.module.d.ts +0 -9
  85. package/lib/utils/cacheMap.d.ts +0 -60
  86. package/lib/utils/debounce.d.ts +0 -16
  87. package/lib/utils/disposableComponent.d.ts +0 -15
  88. package/lib/utils/eventEmitter.d.ts +0 -40
  89. package/lib/utils/isDirection.d.ts +0 -8
  90. package/lib/utils/scrollEvent.d.ts +0 -39
  91. package/lib/utils/toggleClassName.d.ts +0 -7
  92. package/lib/utils/trackBox.d.ts +0 -176
  93. package/lib/utils/tracker.d.ts +0 -44
  94. /package/{lib/models/scroll-direction.model.d.ts → src/lib/models/scroll-direction.model.ts} +0 -0
@@ -1,20 +0,0 @@
1
- import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { NgVirtualListComponent } from './ng-virtual-list.component';
4
- import { NgVirtualListItemComponent } from './components/ng-virtual-list-item.component';
5
- import * as i0 from "@angular/core";
6
- export class NgVirtualListModule {
7
- }
8
- NgVirtualListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgVirtualListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- NgVirtualListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NgVirtualListModule, declarations: [NgVirtualListComponent, NgVirtualListItemComponent], imports: [CommonModule], exports: [NgVirtualListComponent] });
10
- NgVirtualListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgVirtualListModule, imports: [CommonModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgVirtualListModule, decorators: [{
12
- type: NgModule,
13
- args: [{
14
- declarations: [NgVirtualListComponent, NgVirtualListItemComponent],
15
- exports: [NgVirtualListComponent],
16
- imports: [CommonModule],
17
- schemas: [NO_ERRORS_SCHEMA],
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlydHVhbC1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL25nLXZpcnR1YWwtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBUXpGLE1BQU0sT0FBTyxtQkFBbUI7O2lIQUFuQixtQkFBbUI7a0hBQW5CLG1CQUFtQixpQkFMZixzQkFBc0IsRUFBRSwwQkFBMEIsYUFFdkQsWUFBWSxhQURaLHNCQUFzQjtrSEFJckIsbUJBQW1CLFlBSHBCLFlBQVk7NEZBR1gsbUJBQW1CO2tCQU4vQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHNCQUFzQixFQUFFLDBCQUEwQixDQUFDO29CQUNsRSxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTk9fRVJST1JTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ1ZpcnR1YWxMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9uZy12aXJ0dWFsLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbmctdmlydHVhbC1saXN0LWl0ZW0uY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbTmdWaXJ0dWFsTGlzdENvbXBvbmVudCwgTmdWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtOZ1ZpcnR1YWxMaXN0Q29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBzY2hlbWFzOiBbTk9fRVJST1JTX1NDSEVNQV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ1ZpcnR1YWxMaXN0TW9kdWxlIHsgfVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi90eXBlcy9pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIElkZW50aWZpZXIgdHlwZVxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNS54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3R5cGVzL2lkLnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCB0eXBlIElkID0gc3RyaW5nIHwgbnVtYmVyOyJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWQgfSBmcm9tICcuL2lkJztcclxuaW1wb3J0IHsgSVNpemUgfSBmcm9tICcuL3NpemUnO1xyXG5pbXBvcnQgeyBJUmVjdCB9IGZyb20gJy4vcmVjdCc7XHJcblxyXG5leHBvcnQgdHlwZSB7XHJcbiAgICBJZCxcclxuICAgIElTaXplLFxyXG4gICAgSVJlY3QsXHJcbn0iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3R5cGVzL3JlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTaXplIH0gZnJvbSBcIi4vc2l6ZVwiO1xyXG5cclxuLyoqXHJcbiAqIFJlY3Rhbmd1bGFyIGFyZWEgaW50ZXJmYWNlXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE1LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdHlwZXMvcmVjdC50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElSZWN0IGV4dGVuZHMgSVNpemUge1xyXG4gICAgLyoqXHJcbiAgICAgKiBYIGNvb3JkaW5hdGUuXHJcbiAgICAgKi9cclxuICAgIHg6IG51bWJlcjtcclxuICAgIC8qKlxyXG4gICAgICogWSBjb29yZGluYXRlLlxyXG4gICAgICovXHJcbiAgICB5OiBudW1iZXI7XHJcbn0iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3R5cGVzL3NpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBBcmVhIGFyZWEgSW50ZXJmYWNlXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE1LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdHlwZXMvc2l6ZS50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElTaXplIHtcclxuICAgIC8qKlxyXG4gICAgICogV2lkdGggdmFsdWUuXHJcbiAgICAgKi9cclxuICAgIHdpZHRoOiBudW1iZXI7XHJcbiAgICAvKipcclxuICAgICAqIEhlaWdodCB2YWx1ZS5cclxuICAgICAqL1xyXG4gICAgaGVpZ2h0OiBudW1iZXI7XHJcbn0iXX0=
@@ -1,167 +0,0 @@
1
- import { debounce } from "./debounce";
2
- import { EventEmitter } from "./eventEmitter";
3
- export class CMap {
4
- constructor(dict) {
5
- this._dict = {};
6
- if (dict) {
7
- this._dict = { ...dict._dict };
8
- }
9
- }
10
- get(key) {
11
- const k = String(key);
12
- return this._dict[k];
13
- }
14
- set(key, value) {
15
- const k = String(key);
16
- this._dict[k] = value;
17
- return this;
18
- }
19
- has(key) {
20
- return this._dict.hasOwnProperty(String(key));
21
- }
22
- delete(key) {
23
- const k = String(key);
24
- delete this._dict[k];
25
- }
26
- clear() {
27
- this._dict = {};
28
- }
29
- }
30
- export const CACHE_BOX_CHANGE_EVENT_NAME = 'change';
31
- const MAX_SCROLL_DIRECTION_POOL = 50, CLEAR_SCROLL_DIRECTION_TO = 10, DIR_BACK = '-1', DIR_NONE = '0', DIR_FORWARD = '1';
32
- /**
33
- * Cache map.
34
- * Emits a change event on each mutation.
35
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/15.x/projects/ng-virtual-list/src/lib/utils/cacheMap.ts
36
- * @author Evgenii Grebennikov
37
- * @email djonnyx@gmail.com
38
- */
39
- export class CacheMap extends EventEmitter {
40
- get delta() {
41
- return this._delta;
42
- }
43
- set deltaDirection(v) {
44
- this._deltaDirection = v;
45
- this._scrollDirection = this.calcScrollDirection(v);
46
- }
47
- get deltaDirection() {
48
- return this._deltaDirection;
49
- }
50
- get scrollDirection() {
51
- return this._scrollDirection;
52
- }
53
- get version() {
54
- return this._version;
55
- }
56
- constructor() {
57
- super();
58
- this._map = new CMap();
59
- this._snapshot = new CMap();
60
- this._version = 0;
61
- this._previousVersion = this._version;
62
- this._delta = 0;
63
- this._deltaDirection = 0;
64
- this._scrollDirectionCache = [];
65
- this._scrollDirection = 0;
66
- this._clearScrollDirectionDebounce = debounce(() => {
67
- while (this._scrollDirectionCache.length > CLEAR_SCROLL_DIRECTION_TO) {
68
- this._scrollDirectionCache.shift();
69
- }
70
- }, 10);
71
- this.lifeCircle();
72
- }
73
- changesDetected() {
74
- return this._version !== this._previousVersion;
75
- }
76
- stopLifeCircle() {
77
- clearTimeout(this._lifeCircleTimeout);
78
- }
79
- nextTick(cb) {
80
- if (this._disposed) {
81
- return;
82
- }
83
- this._lifeCircleTimeout = setTimeout(() => {
84
- cb();
85
- });
86
- return this._lifeCircleTimeout;
87
- }
88
- lifeCircle() {
89
- this.fireChangeIfNeed();
90
- this.lifeCircleDo();
91
- }
92
- lifeCircleDo() {
93
- this._previousVersion = this._version;
94
- this.nextTick(() => {
95
- this.lifeCircle();
96
- });
97
- }
98
- clearScrollDirectionCache() {
99
- this._clearScrollDirectionDebounce.execute();
100
- }
101
- calcScrollDirection(v) {
102
- while (this._scrollDirectionCache.length >= MAX_SCROLL_DIRECTION_POOL) {
103
- this._scrollDirectionCache.shift();
104
- }
105
- this._scrollDirectionCache.push(v);
106
- const dict = { [DIR_BACK]: 0, [DIR_NONE]: 0, [DIR_FORWARD]: 0 };
107
- for (let i = 0, l = this._scrollDirectionCache.length, li = l - 1; i < l; i++) {
108
- const dir = String(this._scrollDirectionCache[i]);
109
- dict[dir] += 1;
110
- if (i === li) {
111
- for (let d in dict) {
112
- if (d === String(v)) {
113
- continue;
114
- }
115
- dict[d] -= 1;
116
- }
117
- }
118
- }
119
- if (dict[DIR_BACK] > dict[DIR_NONE] && dict[DIR_BACK] > dict[DIR_FORWARD]) {
120
- return -1;
121
- }
122
- else if (dict[DIR_FORWARD] > dict[DIR_BACK] && dict[DIR_FORWARD] > dict[DIR_NONE]) {
123
- return 1;
124
- }
125
- return 0;
126
- }
127
- bumpVersion() {
128
- if (this.changesDetected()) {
129
- return;
130
- }
131
- const v = this._version === Number.MAX_SAFE_INTEGER ? 0 : this._version + 1;
132
- this._version = v;
133
- }
134
- fireChangeIfNeed() {
135
- if (this.changesDetected()) {
136
- this.dispatch(CACHE_BOX_CHANGE_EVENT_NAME, this.version);
137
- }
138
- }
139
- set(id, bounds) {
140
- if (this._map.has(id)) {
141
- const b = this._map.get(id), bb = bounds;
142
- if (b.width === bb.width && b.height === bb.height) {
143
- return this._map;
144
- }
145
- return this._map;
146
- }
147
- const v = this._map.set(id, bounds);
148
- this.bumpVersion();
149
- return v;
150
- }
151
- has(id) {
152
- return this._map.has(id);
153
- }
154
- get(id) {
155
- return this._map.get(id);
156
- }
157
- snapshot() {
158
- this._snapshot = new CMap(this._map);
159
- }
160
- dispose() {
161
- super.dispose();
162
- this.stopLifeCircle();
163
- this._snapshot.clear();
164
- this._map.clear();
165
- }
166
- }
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVNYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9jYWNoZU1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQWlCLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0QsTUFBTSxPQUFPLElBQUk7SUFHYixZQUFZLElBQWlCO1FBRnJCLFVBQUssR0FBZ0MsRUFBRSxDQUFDO1FBRzVDLElBQUksSUFBSSxFQUFFO1lBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFNO1FBQ04sTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsR0FBRyxDQUFDLEdBQU0sRUFBRSxLQUFRO1FBQ2hCLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsR0FBRyxDQUFDLEdBQU07UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxNQUFNLENBQUMsR0FBTTtRQUNULE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FB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QyxXQUFXLEVBQUUsQ0FBQztRQUVuQixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxHQUFHLENBQUMsRUFBSztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxFQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFUSxPQUFPO1FBQ1osS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWhCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV0QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXZCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Nyb2xsRGlyZWN0aW9uIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gXCIuL2RlYm91bmNlXCI7XHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgVEV2ZW50SGFuZGxlciB9IGZyb20gXCIuL2V2ZW50RW1pdHRlclwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENNYXA8SyA9IHN0cmluZywgViA9IGFueT4ge1xyXG4gICAgcHJpdmF0ZSBfZGljdDogeyBbazogc3RyaW5nIHwgbnVtYmVyXTogViB9ID0ge307XHJcblxyXG4gICAgY29uc3RydWN0b3IoZGljdD86IENNYXA8SywgVj4pIHtcclxuICAgICAgICBpZiAoZGljdCkge1xyXG4gICAgICAgICAgICB0aGlzLl9kaWN0ID0geyAuLi5kaWN0Ll9kaWN0IH07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldChrZXk6IEspIHtcclxuICAgICAgICBjb25zdCBrID0gU3RyaW5nKGtleSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RpY3Rba107XHJcbiAgICB9XHJcbiAgICBzZXQoa2V5OiBLLCB2YWx1ZTogVikge1xyXG4gICAgICAgIGNvbnN0IGsgPSBTdHJpbmcoa2V5KTtcclxuICAgICAgICB0aGlzLl9kaWN0W2tdID0gdmFsdWU7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcbiAgICBoYXMoa2V5OiBLKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RpY3QuaGFzT3duUHJvcGVydHkoU3RyaW5nKGtleSkpO1xyXG4gICAgfVxyXG4gICAgZGVsZXRlKGtleTogSykge1xyXG4gICAgICAgIGNvbnN0IGsgPSBTdHJpbmcoa2V5KTtcclxuICAgICAgICBkZWxldGUgdGhpcy5fZGljdFtrXTtcclxuICAgIH1cclxuICAgIGNsZWFyKCkge1xyXG4gICAgICAgIHRoaXMuX2RpY3QgPSB7fTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ2FjaGVNYXA8SSA9IGFueSwgQiA9IGFueT4ge1xyXG4gICAgc2V0OiAoaWQ6IEksIGJvdW5kczogQikgPT4gQ01hcDxJLCBCPjtcclxuICAgIGhhczogKGlkOiBJKSA9PiBib29sZWFuO1xyXG4gICAgZ2V0OiAoaWQ6IEkpID0+IEIgfCB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDQUNIRV9CT1hfQ0hBTkdFX0VWRU5UX05BTUUgPSAnY2hhbmdlJztcclxuXHJcbnR5cGUgQ2FjaGVNYXBFdmVudHMgPSB0eXBlb2YgQ0FDSEVfQk9YX0NIQU5HRV9FVkVOVF9OQU1FO1xyXG5cclxudHlwZSBPbkNoYW5nZUV2ZW50TGlzdGVuZXIgPSAodmVyc2lvbjogbnVtYmVyKSA9PiB2b2lkO1xyXG5cclxudHlwZSBDYWNoZU1hcExpc3RlbmVycyA9IE9uQ2hhbmdlRXZlbnRMaXN0ZW5lcjtcclxuXHJcbmNvbnN0IE1BWF9TQ1JPTExfRElSRUNUSU9OX1BPT0wgPSA1MCwgQ0xFQVJfU0NST0xMX0RJUkVDVElPTl9UTyA9IDEwLFxyXG4gICAgRElSX0JBQ0sgPSAnLTEnLCBESVJfTk9ORSA9ICcwJywgRElSX0ZPUldBUkQgPSAnMSc7XHJcblxyXG4vKipcclxuICogQ2FjaGUgbWFwLlxyXG4gKiBFbWl0cyBhIGNoYW5nZSBldmVudCBvbiBlYWNoIG11dGF0aW9uLlxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNS54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2NhY2hlTWFwLnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBjbGFzcyBDYWNoZU1hcDxJID0gc3RyaW5nIHwgbnVtYmVyLCBCID0gYW55LCBFIGV4dGVuZHMgc3RyaW5nID0gQ2FjaGVNYXBFdmVudHMsIEwgZXh0ZW5kcyBURXZlbnRIYW5kbGVyID0gQ2FjaGVNYXBMaXN0ZW5lcnM+XHJcbiAgICBleHRlbmRzIEV2ZW50RW1pdHRlcjxFLCBMPiBpbXBsZW1lbnRzIElDYWNoZU1hcCB7XHJcbiAgICBwcm90ZWN0ZWQgX21hcCA9IG5ldyBDTWFwPEksIEI+KCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIF9zbmFwc2hvdCA9IG5ldyBDTWFwPEksIEI+KCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIF92ZXJzaW9uOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIHByb3RlY3RlZCBfcHJldmlvdXNWZXJzaW9uID0gdGhpcy5fdmVyc2lvbjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgX2xpZmVDaXJjbGVUaW1lb3V0OiBhbnk7XHJcblxyXG4gICAgcHJvdGVjdGVkIF9kZWx0YTogbnVtYmVyID0gMDtcclxuXHJcbiAgICBnZXQgZGVsdGEoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlbHRhO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfZGVsdGFEaXJlY3Rpb246IFNjcm9sbERpcmVjdGlvbiA9IDA7XHJcbiAgICBzZXQgZGVsdGFEaXJlY3Rpb24odjogU2Nyb2xsRGlyZWN0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5fZGVsdGFEaXJlY3Rpb24gPSB2O1xyXG5cclxuICAgICAgICB0aGlzLl9zY3JvbGxEaXJlY3Rpb24gPSB0aGlzLmNhbGNTY3JvbGxEaXJlY3Rpb24odik7XHJcbiAgICB9XHJcbiAgICBnZXQgZGVsdGFEaXJlY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlbHRhRGlyZWN0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Njcm9sbERpcmVjdGlvbkNhY2hlOiBBcnJheTxTY3JvbGxEaXJlY3Rpb24+ID0gW107XHJcbiAgICBwcml2YXRlIF9zY3JvbGxEaXJlY3Rpb246IFNjcm9sbERpcmVjdGlvbiA9IDA7XHJcbiAgICBnZXQgc2Nyb2xsRGlyZWN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxEaXJlY3Rpb247XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHZlcnNpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZlcnNpb247XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY2xlYXJTY3JvbGxEaXJlY3Rpb25EZWJvdW5jZSA9IGRlYm91bmNlKCgpID0+IHtcclxuICAgICAgICB3aGlsZSAodGhpcy5fc2Nyb2xsRGlyZWN0aW9uQ2FjaGUubGVuZ3RoID4gQ0xFQVJfU0NST0xMX0RJUkVDVElPTl9UTykge1xyXG4gICAgICAgICAgICB0aGlzLl9zY3JvbGxEaXJlY3Rpb25DYWNoZS5zaGlmdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIDEwKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMubGlmZUNpcmNsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBjaGFuZ2VzRGV0ZWN0ZWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZlcnNpb24gIT09IHRoaXMuX3ByZXZpb3VzVmVyc2lvbjtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgc3RvcExpZmVDaXJjbGUoKSB7XHJcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2xpZmVDaXJjbGVUaW1lb3V0KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgbmV4dFRpY2soY2I6ICgpID0+IHZvaWQpIHtcclxuICAgICAgICBpZiAodGhpcy5fZGlzcG9zZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fbGlmZUNpcmNsZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgY2IoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbGlmZUNpcmNsZVRpbWVvdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGxpZmVDaXJjbGUoKSB7XHJcbiAgICAgICAgdGhpcy5maXJlQ2hhbmdlSWZOZWVkKCk7XHJcblxyXG4gICAgICAgIHRoaXMubGlmZUNpcmNsZURvKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGxpZmVDaXJjbGVEbygpIHtcclxuICAgICAgICB0aGlzLl9wcmV2aW91c1ZlcnNpb24gPSB0aGlzLl92ZXJzaW9uO1xyXG5cclxuICAgICAgICB0aGlzLm5leHRUaWNrKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5saWZlQ2lyY2xlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXJTY3JvbGxEaXJlY3Rpb25DYWNoZSgpIHtcclxuICAgICAgICB0aGlzLl9jbGVhclNjcm9sbERpcmVjdGlvbkRlYm91bmNlLmV4ZWN1dGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNhbGNTY3JvbGxEaXJlY3Rpb24odjogU2Nyb2xsRGlyZWN0aW9uKTogU2Nyb2xsRGlyZWN0aW9uIHtcclxuICAgICAgICB3aGlsZSAodGhpcy5fc2Nyb2xsRGlyZWN0aW9uQ2FjaGUubGVuZ3RoID49IE1BWF9TQ1JPTExfRElSRUNUSU9OX1BPT0wpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2Nyb2xsRGlyZWN0aW9uQ2FjaGUuc2hpZnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fc2Nyb2xsRGlyZWN0aW9uQ2FjaGUucHVzaCh2KTtcclxuICAgICAgICBjb25zdCBkaWN0OiB7IFt4OiBzdHJpbmddOiBudW1iZXIgfSA9IHsgW0RJUl9CQUNLXTogMCwgW0RJUl9OT05FXTogMCwgW0RJUl9GT1JXQVJEXTogMCB9O1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsID0gdGhpcy5fc2Nyb2xsRGlyZWN0aW9uQ2FjaGUubGVuZ3RoLCBsaSA9IGwgLSAxOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRpciA9IFN0cmluZyh0aGlzLl9zY3JvbGxEaXJlY3Rpb25DYWNoZVtpXSk7XHJcbiAgICAgICAgICAgIGRpY3RbZGlyXSArPSAxO1xyXG4gICAgICAgICAgICBpZiAoaSA9PT0gbGkpIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGQgaW4gZGljdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChkID09PSBTdHJpbmcodikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGRpY3RbZF0gLT0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGRpY3RbRElSX0JBQ0tdID4gZGljdFtESVJfTk9ORV0gJiYgZGljdFtESVJfQkFDS10gPiBkaWN0W0RJUl9GT1JXQVJEXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgICAgfSBlbHNlIGlmIChkaWN0W0RJUl9GT1JXQVJEXSA+IGRpY3RbRElSX0JBQ0tdICYmIGRpY3RbRElSX0ZPUldBUkRdID4gZGljdFtESVJfTk9ORV0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYnVtcFZlcnNpb24oKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2hhbmdlc0RldGVjdGVkKCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB2ID0gdGhpcy5fdmVyc2lvbiA9PT0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIgPyAwIDogdGhpcy5fdmVyc2lvbiArIDE7XHJcbiAgICAgICAgdGhpcy5fdmVyc2lvbiA9IHY7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGZpcmVDaGFuZ2VJZk5lZWQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2hhbmdlc0RldGVjdGVkKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaChDQUNIRV9CT1hfQ0hBTkdFX0VWRU5UX05BTUUgYXMgRSwgdGhpcy52ZXJzaW9uKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0KGlkOiBJLCBib3VuZHM6IEIpOiBDTWFwPEksIEI+IHtcclxuICAgICAgICBpZiAodGhpcy5fbWFwLmhhcyhpZCkpIHtcclxuICAgICAgICAgICAgY29uc3QgYjogYW55ID0gdGhpcy5fbWFwLmdldChpZCksIGJiOiBhbnkgPSBib3VuZHM7XHJcbiAgICAgICAgICAgIGlmIChiLndpZHRoID09PSBiYi53aWR0aCAmJiBiLmhlaWdodCA9PT0gYmIuaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbWFwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9tYXA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB2ID0gdGhpcy5fbWFwLnNldChpZCwgYm91bmRzKTtcclxuXHJcbiAgICAgICAgdGhpcy5idW1wVmVyc2lvbigpO1xyXG5cclxuICAgICAgICByZXR1cm4gdjtcclxuICAgIH1cclxuXHJcbiAgICBoYXMoaWQ6IEkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbWFwLmhhcyhpZCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0KGlkOiBJKTogQiB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX21hcC5nZXQoaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHNuYXBzaG90KCkge1xyXG4gICAgICAgIHRoaXMuX3NuYXBzaG90ID0gbmV3IENNYXAodGhpcy5fbWFwKTtcclxuICAgIH1cclxuXHJcbiAgICBvdmVycmlkZSBkaXNwb3NlKCkge1xyXG4gICAgICAgIHN1cGVyLmRpc3Bvc2UoKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdG9wTGlmZUNpcmNsZSgpO1xyXG5cclxuICAgICAgICB0aGlzLl9zbmFwc2hvdC5jbGVhcigpO1xyXG5cclxuICAgICAgICB0aGlzLl9tYXAuY2xlYXIoKTtcclxuICAgIH1cclxufSJdfQ==
@@ -1,31 +0,0 @@
1
- /**
2
- * Simple debounce function.
3
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/15.x/projects/ng-virtual-list/src/lib/utils/debounce.ts
4
- * @author Evgenii Grebennikov
5
- * @email djonnyx@gmail.com
6
- */
7
- export const debounce = (cb, debounceTime = 0) => {
8
- let timeout;
9
- const dispose = () => {
10
- if (timeout !== undefined) {
11
- clearTimeout(timeout);
12
- }
13
- };
14
- const execute = (...args) => {
15
- dispose();
16
- timeout = setTimeout(() => {
17
- cb(...args);
18
- }, debounceTime);
19
- };
20
- return {
21
- /**
22
- * Call handling method
23
- */
24
- execute,
25
- /**
26
- * Method of destroying handlers
27
- */
28
- dispose,
29
- };
30
- };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9kZWJvdW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEVBQWlDLEVBQUUsZUFBdUIsQ0FBQyxFQUFFLEVBQUU7SUFDcEYsSUFBSSxPQUFZLENBQUM7SUFDakIsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO1FBQ2pCLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUN2QixZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDekI7SUFDTCxDQUFDLENBQUE7SUFDRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsSUFBZ0IsRUFBRSxFQUFFO1FBQ3BDLE9BQU8sRUFBRSxDQUFDO1FBRVYsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdEIsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDaEIsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3JCLENBQUMsQ0FBQztJQUNGLE9BQU87UUFDSDs7V0FFRztRQUNILE9BQU87UUFDUDs7V0FFRztRQUNILE9BQU87S0FDVixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFNpbXBsZSBkZWJvdW5jZSBmdW5jdGlvbi5cclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTUueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9kZWJvdW5jZS50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZGVib3VuY2UgPSAoY2I6ICguLi5hcmdzOiBBcnJheTxhbnk+KSA9PiB2b2lkLCBkZWJvdW5jZVRpbWU6IG51bWJlciA9IDApID0+IHtcclxuICAgIGxldCB0aW1lb3V0OiBhbnk7XHJcbiAgICBjb25zdCBkaXNwb3NlID0gKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aW1lb3V0ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGV4ZWN1dGUgPSAoLi4uYXJnczogQXJyYXk8YW55PikgPT4ge1xyXG4gICAgICAgIGRpc3Bvc2UoKTtcclxuXHJcbiAgICAgICAgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBjYiguLi5hcmdzKTtcclxuICAgICAgICB9LCBkZWJvdW5jZVRpbWUpO1xyXG4gICAgfTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogIENhbGwgaGFuZGxpbmcgbWV0aG9kXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgZXhlY3V0ZSxcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBNZXRob2Qgb2YgZGVzdHJveWluZyBoYW5kbGVyc1xyXG4gICAgICAgICAqL1xyXG4gICAgICAgIGRpc3Bvc2UsXHJcbiAgICB9O1xyXG59O1xyXG4iXX0=
@@ -1,29 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Base disposable component
6
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/15.x/projects/ng-virtual-list/src/lib/utils/disposableComponent.ts
7
- * @author Evgenii Grebennikov
8
- * @email djonnyx@gmail.com
9
- */
10
- export class DisposableComponent {
11
- constructor() {
12
- this._$unsubscribe = new Subject();
13
- }
14
- ngOnDestroy() {
15
- if (this._$unsubscribe) {
16
- this._$unsubscribe.next();
17
- this._$unsubscribe.complete();
18
- }
19
- }
20
- }
21
- DisposableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DisposableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- DisposableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DisposableComponent, selector: "ng-component", ngImport: i0, template: ``, isInline: true });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DisposableComponent, decorators: [{
24
- type: Component,
25
- args: [{
26
- template: ``,
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcG9zYWJsZUNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2Rpc3Bvc2FibGVDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUUvQjs7Ozs7R0FLRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFIaEM7UUFJYyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7S0FRakQ7SUFORyxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQztJQUNMLENBQUM7O2lIQVJRLG1CQUFtQjtxR0FBbkIsbUJBQW1CLG9EQUZsQixFQUFFOzRGQUVILG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsRUFBRTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIGRpc3Bvc2FibGUgY29tcG9uZW50XHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE1LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvZGlzcG9zYWJsZUNvbXBvbmVudC50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHRlbXBsYXRlOiBgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgcHJvdGVjdGVkIF8kdW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl8kdW5zdWJzY3JpYmUpIHtcclxuICAgICAgICAgICAgdGhpcy5fJHVuc3Vic2NyaWJlLm5leHQoKTtcclxuICAgICAgICAgICAgdGhpcy5fJHVuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
@@ -1,106 +0,0 @@
1
- /**
2
- * Simple event emitter
3
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/15.x/projects/ng-virtual-list/src/lib/utils/eventEmitter.ts
4
- * @author Evgenii Grebennikov
5
- * @email djonnyx@gmail.com
6
- */
7
- export class EventEmitter {
8
- constructor() {
9
- this._listeners = {};
10
- this._disposed = false;
11
- }
12
- /**
13
- * Emits the event
14
- */
15
- dispatch(event, ...args) {
16
- const ctx = this;
17
- const listeners = this._listeners[event];
18
- if (Array.isArray(listeners)) {
19
- for (let i = 0, l = listeners.length; i < l; i++) {
20
- const listener = listeners[i];
21
- if (listener) {
22
- listener.apply(ctx, args);
23
- }
24
- }
25
- }
26
- }
27
- /**
28
- * Emits the event async
29
- */
30
- dispatchAsync(event, ...args) {
31
- queueMicrotask(() => {
32
- if (this._disposed) {
33
- return;
34
- }
35
- this.dispatch(event, ...args);
36
- });
37
- }
38
- /**
39
- * Returns true if the event listener is already subscribed.
40
- */
41
- hasEventListener(eventName, handler) {
42
- const event = eventName;
43
- if (this._listeners.hasOwnProperty(event)) {
44
- const listeners = this._listeners[event];
45
- const index = listeners.findIndex(v => v === handler);
46
- if (index > -1) {
47
- return true;
48
- }
49
- }
50
- return false;
51
- }
52
- /**
53
- * Add event listener
54
- */
55
- addEventListener(eventName, handler) {
56
- const event = eventName;
57
- if (!this._listeners.hasOwnProperty(event)) {
58
- this._listeners[event] = [];
59
- }
60
- this._listeners[event].push(handler);
61
- }
62
- /**
63
- * Remove event listener
64
- */
65
- removeEventListener(eventName, handler) {
66
- const event = eventName;
67
- if (!this._listeners.hasOwnProperty(event)) {
68
- return;
69
- }
70
- const listeners = this._listeners[event], index = listeners.findIndex(v => v === handler);
71
- if (index > -1) {
72
- listeners.splice(index, 1);
73
- if (listeners.length === 0) {
74
- delete this._listeners[event];
75
- }
76
- }
77
- }
78
- /**
79
- * Remove all listeners
80
- */
81
- removeAllListeners() {
82
- const events = Object.keys(this._listeners);
83
- while (events.length > 0) {
84
- const event = events.pop();
85
- if (event) {
86
- const listeners = this._listeners[event];
87
- if (Array.isArray(listeners)) {
88
- while (listeners.length > 0) {
89
- const listener = listeners.pop();
90
- if (listener) {
91
- this.removeEventListener(event, listener);
92
- }
93
- }
94
- }
95
- }
96
- }
97
- }
98
- /**
99
- * Method of destroying handlers
100
- */
101
- dispose() {
102
- this._disposed = true;
103
- this.removeAllListeners();
104
- }
105
- }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRFbWl0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvZXZlbnRFbWl0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFPckI7UUFOUSxlQUFVLEdBRWQsRUFBRSxDQUFDO1FBRUcsY0FBUyxHQUFZLEtBQUssQ0FBQztJQUVyQixDQUFDO0lBRWpCOztPQUVHO0lBQ0gsUUFBUSxDQUFDLEtBQVEsRUFBRSxHQUFHLElBQWdCO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQztRQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQWUsQ0FBQyxDQUFDO1FBQ25ELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMxQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUM5QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlCLElBQUksUUFBUSxFQUFFO29CQUNWLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUM3QjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhLENBQUMsS0FBUSxFQUFFLEdBQUcsSUFBZ0I7UUFDdkMsY0FBYyxDQUFDLEdBQUcsRUFBRTtZQUNoQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2hCLE9BQU87YUFDVjtZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxTQUFZLEVBQUUsT0FBVTtRQUNyQyxNQUFNLEtBQUssR0FBRyxTQUFtQixDQUFDO1FBQ2xDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxDQUFDO1lBQ3RELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUNaLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7U0FDSjtRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLFNBQVksRUFBRSxPQUFVO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLFNBQW1CLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBd0IsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7T0FFRztJQUNILG1CQUFtQixDQUFDLFNBQVksRUFBRSxPQUFVO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLFNBQW1CLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLE9BQU87U0FDVjtRQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssT0FBTyxDQUFDLENBQUM7UUFDMUYsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDWixTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUUzQixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUN4QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDakM7U0FDSjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQjtRQUNkLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzNCLElBQUksS0FBSyxFQUFFO2dCQUNQLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3pDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDMUIsT0FBTyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDekIsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO3dCQUNqQyxJQUFJLFFBQVEsRUFBRTs0QkFDVixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBVSxFQUFFLFFBQWEsQ0FBQyxDQUFDO3lCQUN2RDtxQkFDSjtpQkFDSjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0gsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVEV2ZW50SGFuZGxlciA9ICguLi5hcmdzOiBBcnJheTxhbnk+KSA9PiB2b2lkO1xyXG5cclxuLyoqXHJcbiAqIFNpbXBsZSBldmVudCBlbWl0dGVyXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE1LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvZXZlbnRFbWl0dGVyLnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBjbGFzcyBFdmVudEVtaXR0ZXI8RSA9IHN0cmluZywgSCA9IFRFdmVudEhhbmRsZXI+IHtcclxuICAgIHByaXZhdGUgX2xpc3RlbmVyczoge1xyXG4gICAgICAgIFtldmVudE5hbWU6IHN0cmluZ106IEFycmF5PFRFdmVudEhhbmRsZXI+LFxyXG4gICAgfSA9IHt9O1xyXG5cclxuICAgIHByb3RlY3RlZCBfZGlzcG9zZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRW1pdHMgdGhlIGV2ZW50XHJcbiAgICAgKi9cclxuICAgIGRpc3BhdGNoKGV2ZW50OiBFLCAuLi5hcmdzOiBBcnJheTxhbnk+KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY3R4ID0gdGhpcztcclxuICAgICAgICBjb25zdCBsaXN0ZW5lcnMgPSB0aGlzLl9saXN0ZW5lcnNbZXZlbnQgYXMgc3RyaW5nXTtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsaXN0ZW5lcnMpKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBsID0gbGlzdGVuZXJzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbGlzdGVuZXIgPSBsaXN0ZW5lcnNbaV07XHJcbiAgICAgICAgICAgICAgICBpZiAobGlzdGVuZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBsaXN0ZW5lci5hcHBseShjdHgsIGFyZ3MpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRW1pdHMgdGhlIGV2ZW50IGFzeW5jXHJcbiAgICAgKi9cclxuICAgIGRpc3BhdGNoQXN5bmMoZXZlbnQ6IEUsIC4uLmFyZ3M6IEFycmF5PGFueT4pOiB2b2lkIHtcclxuICAgICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9kaXNwb3NlZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2goZXZlbnQsIC4uLmFyZ3MpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBldmVudCBsaXN0ZW5lciBpcyBhbHJlYWR5IHN1YnNjcmliZWQuXHJcbiAgICAgKi9cclxuICAgIGhhc0V2ZW50TGlzdGVuZXIoZXZlbnROYW1lOiBFLCBoYW5kbGVyOiBIKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgZXZlbnQgPSBldmVudE5hbWUgYXMgc3RyaW5nO1xyXG4gICAgICAgIGlmICh0aGlzLl9saXN0ZW5lcnMuaGFzT3duUHJvcGVydHkoZXZlbnQpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMuX2xpc3RlbmVyc1tldmVudF07XHJcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gbGlzdGVuZXJzLmZpbmRJbmRleCh2ID0+IHYgPT09IGhhbmRsZXIpO1xyXG4gICAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGQgZXZlbnQgbGlzdGVuZXJcclxuICAgICAqL1xyXG4gICAgYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWU6IEUsIGhhbmRsZXI6IEgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBldmVudCA9IGV2ZW50TmFtZSBhcyBzdHJpbmc7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9saXN0ZW5lcnMuaGFzT3duUHJvcGVydHkoZXZlbnQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2xpc3RlbmVyc1tldmVudF0gPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fbGlzdGVuZXJzW2V2ZW50XS5wdXNoKGhhbmRsZXIgYXMgVEV2ZW50SGFuZGxlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmUgZXZlbnQgbGlzdGVuZXJcclxuICAgICAqL1xyXG4gICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWU6IEUsIGhhbmRsZXI6IEgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBldmVudCA9IGV2ZW50TmFtZSBhcyBzdHJpbmc7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9saXN0ZW5lcnMuaGFzT3duUHJvcGVydHkoZXZlbnQpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gdGhpcy5fbGlzdGVuZXJzW2V2ZW50XSwgaW5kZXggPSBsaXN0ZW5lcnMuZmluZEluZGV4KHYgPT4gdiA9PT0gaGFuZGxlcik7XHJcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAgICAgbGlzdGVuZXJzLnNwbGljZShpbmRleCwgMSk7XHJcblxyXG4gICAgICAgICAgICBpZiAobGlzdGVuZXJzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2xpc3RlbmVyc1tldmVudF07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmUgYWxsIGxpc3RlbmVyc1xyXG4gICAgICovXHJcbiAgICByZW1vdmVBbGxMaXN0ZW5lcnMoKSB7XHJcbiAgICAgICAgY29uc3QgZXZlbnRzID0gT2JqZWN0LmtleXModGhpcy5fbGlzdGVuZXJzKTtcclxuICAgICAgICB3aGlsZSAoZXZlbnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBldmVudHMucG9wKCk7XHJcbiAgICAgICAgICAgIGlmIChldmVudCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gdGhpcy5fbGlzdGVuZXJzW2V2ZW50XTtcclxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxpc3RlbmVycykpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aGlsZSAobGlzdGVuZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlzdGVuZXIgPSBsaXN0ZW5lcnMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0ZW5lcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50IGFzIEUsIGxpc3RlbmVyIGFzIEgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWV0aG9kIG9mIGRlc3Ryb3lpbmcgaGFuZGxlcnNcclxuICAgICAqL1xyXG4gICAgZGlzcG9zZSgpIHtcclxuICAgICAgICB0aGlzLl9kaXNwb3NlZCA9IHRydWU7XHJcblxyXG4gICAgICAgIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,8 +0,0 @@
1
- import { isDirection } from "./isDirection";
2
- import { debounce } from "./debounce";
3
- import { toggleClassName } from './toggleClassName';
4
- import { Tracker } from "./tracker";
5
- import { TrackBox } from "./trackBox";
6
- import { ScrollEvent } from "./scrollEvent";
7
- export { isDirection, debounce, toggleClassName, ScrollEvent, TrackBox, Tracker, };
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsUUFBUSxFQUNSLGVBQWUsRUFDZixXQUFXLEVBQ1gsUUFBUSxFQUNSLE9BQU8sR0FDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNEaXJlY3Rpb24gfSBmcm9tIFwiLi9pc0RpcmVjdGlvblwiO1xyXG5pbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gXCIuL2RlYm91bmNlXCI7XHJcbmltcG9ydCB7IHRvZ2dsZUNsYXNzTmFtZSB9IGZyb20gJy4vdG9nZ2xlQ2xhc3NOYW1lJztcclxuaW1wb3J0IHsgVHJhY2tlciB9IGZyb20gXCIuL3RyYWNrZXJcIjtcclxuaW1wb3J0IHsgVHJhY2tCb3ggfSBmcm9tIFwiLi90cmFja0JveFwiO1xyXG5pbXBvcnQgeyBTY3JvbGxFdmVudCB9IGZyb20gXCIuL3Njcm9sbEV2ZW50XCI7XHJcblxyXG5leHBvcnQge1xyXG4gICAgaXNEaXJlY3Rpb24sXHJcbiAgICBkZWJvdW5jZSxcclxuICAgIHRvZ2dsZUNsYXNzTmFtZSxcclxuICAgIFNjcm9sbEV2ZW50LFxyXG4gICAgVHJhY2tCb3gsXHJcbiAgICBUcmFja2VyLFxyXG59O1xyXG4iXX0=
@@ -1,15 +0,0 @@
1
- import { Directions } from "../enums";
2
- const HORIZONTAL_ALIASES = [Directions.HORIZONTAL, 'horizontal'], VERTICAL_ALIASES = [Directions.VERTICAL, 'vertical'];
3
- /**
4
- * Determines the axis membership of a virtual list
5
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/15.x/projects/ng-virtual-list/src/lib/utils/isDirection.ts
6
- * @author Evgenii Grebennikov
7
- * @email djonnyx@gmail.com
8
- */
9
- export const isDirection = (src, expected) => {
10
- if (HORIZONTAL_ALIASES.includes(expected)) {
11
- return HORIZONTAL_ALIASES.includes(src);
12
- }
13
- return VERTICAL_ALIASES.includes(src);
14
- };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNEaXJlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9pc0RpcmVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWpELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxFQUM1RCxnQkFBZ0IsR0FBRyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFFekQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFjLEVBQUUsUUFBbUIsRUFBVyxFQUFFO0lBQ3hFLElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ3ZDLE9BQU8sa0JBQWtCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQzNDO0lBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uLCBEaXJlY3Rpb25zIH0gZnJvbSBcIi4uL2VudW1zXCI7XHJcblxyXG5jb25zdCBIT1JJWk9OVEFMX0FMSUFTRVMgPSBbRGlyZWN0aW9ucy5IT1JJWk9OVEFMLCAnaG9yaXpvbnRhbCddLFxyXG4gICAgVkVSVElDQUxfQUxJQVNFUyA9IFtEaXJlY3Rpb25zLlZFUlRJQ0FMLCAndmVydGljYWwnXTtcclxuXHJcbi8qKlxyXG4gKiBEZXRlcm1pbmVzIHRoZSBheGlzIG1lbWJlcnNoaXAgb2YgYSB2aXJ0dWFsIGxpc3RcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTUueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9pc0RpcmVjdGlvbi50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNEaXJlY3Rpb24gPSAoc3JjOiBEaXJlY3Rpb24sIGV4cGVjdGVkOiBEaXJlY3Rpb24pOiBib29sZWFuID0+IHtcclxuICAgIGlmIChIT1JJWk9OVEFMX0FMSUFTRVMuaW5jbHVkZXMoZXhwZWN0ZWQpKSB7XHJcbiAgICAgICAgcmV0dXJuIEhPUklaT05UQUxfQUxJQVNFUy5pbmNsdWRlcyhzcmMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFZFUlRJQ0FMX0FMSUFTRVMuaW5jbHVkZXMoc3JjKTtcclxufSJdfQ==
@@ -1,42 +0,0 @@
1
- /**
2
- * Scroll event.
3
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/15.x/projects/ng-virtual-list/src/lib/utils/scrollEvent.ts
4
- * @author Evgenii Grebennikov
5
- * @email djonnyx@gmail.com
6
- */
7
- export class ScrollEvent {
8
- get direction() { return this._direction; }
9
- get scrollSize() { return this._scrollSize; }
10
- get scrollWeight() { return this._scrollWeight; }
11
- get isVertical() { return this._isVertical; }
12
- get listSize() { return this._listSize; }
13
- get size() { return this._size; }
14
- get isStart() { return this._isStart; }
15
- get isEnd() { return this._isEnd; }
16
- get delta() { return this._delta; }
17
- get scrollDelta() { return this._scrollDelta; }
18
- constructor(params) {
19
- this._direction = 1;
20
- this._scrollSize = 0;
21
- this._scrollWeight = 0;
22
- this._isVertical = true;
23
- this._listSize = 0;
24
- this._size = 0;
25
- this._isStart = true;
26
- this._isEnd = false;
27
- this._delta = 0;
28
- this._scrollDelta = 0;
29
- const { direction, isVertical, container, list, delta, scrollDelta } = params;
30
- this._direction = direction;
31
- this._isVertical = isVertical;
32
- this._scrollSize = isVertical ? container.scrollTop : container.scrollLeft;
33
- this._scrollWeight = isVertical ? container.scrollHeight : container.scrollWidth;
34
- this._listSize = isVertical ? list.offsetHeight : list.offsetWidth;
35
- this._size = isVertical ? container.offsetHeight : container.offsetWidth;
36
- this._isEnd = (this._scrollSize + this._size) === this._scrollWeight;
37
- this._delta = delta;
38
- this._scrollDelta = scrollDelta;
39
- this._isStart = this._scrollSize === 0;
40
- }
41
- }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsRXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9zY3JvbGxFdmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQTs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBRXBCLElBQUksU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFHM0MsSUFBSSxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUc3QyxJQUFJLFlBQVksS0FBSyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBR2pELElBQUksVUFBVSxLQUFLLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFHN0MsSUFBSSxRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUd6QyxJQUFJLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBR2pDLElBQUksT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFHdkMsSUFBSSxLQUFLLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUduQyxJQUFJLEtBQUssS0FBSyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBR25DLElBQUksV0FBVyxLQUFLLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFFL0MsWUFBWSxNQUEwQjtRQTlCOUIsZUFBVSxHQUFvQixDQUFDLENBQUM7UUFHaEMsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFHeEIsa0JBQWEsR0FBVyxDQUFDLENBQUM7UUFHMUIsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFHNUIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUd0QixVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBR2xCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFHekIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUd4QixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBR25CLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBSTdCLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUM5RSxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztRQUMzRSxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUNqRixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNuRSxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUN6RSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNyRSxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTY3JvbGxFdmVudCwgU2Nyb2xsRGlyZWN0aW9uIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5cclxuaW50ZXJmYWNlIElTY3JvbGxFdmVudFBhcmFtcyB7XHJcbiAgICBkaXJlY3Rpb246IFNjcm9sbERpcmVjdGlvbjtcclxuICAgIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQ7XHJcbiAgICBsaXN0OiBIVE1MRWxlbWVudDtcclxuICAgIGRlbHRhOiBudW1iZXI7XHJcbiAgICBzY3JvbGxEZWx0YTogbnVtYmVyO1xyXG4gICAgaXNWZXJ0aWNhbDogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNjcm9sbCBldmVudC5cclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTUueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi91dGlscy9zY3JvbGxFdmVudC50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgU2Nyb2xsRXZlbnQgaW1wbGVtZW50cyBJU2Nyb2xsRXZlbnQge1xyXG4gICAgcHJpdmF0ZSBfZGlyZWN0aW9uOiBTY3JvbGxEaXJlY3Rpb24gPSAxO1xyXG4gICAgZ2V0IGRpcmVjdGlvbigpIHsgcmV0dXJuIHRoaXMuX2RpcmVjdGlvbjsgfVxyXG5cclxuICAgIHByaXZhdGUgX3Njcm9sbFNpemU6IG51bWJlciA9IDA7XHJcbiAgICBnZXQgc2Nyb2xsU2l6ZSgpIHsgcmV0dXJuIHRoaXMuX3Njcm9sbFNpemU7IH1cclxuXHJcbiAgICBwcml2YXRlIF9zY3JvbGxXZWlnaHQ6IG51bWJlciA9IDA7XHJcbiAgICBnZXQgc2Nyb2xsV2VpZ2h0KCkgeyByZXR1cm4gdGhpcy5fc2Nyb2xsV2VpZ2h0OyB9XHJcblxyXG4gICAgcHJpdmF0ZSBfaXNWZXJ0aWNhbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBnZXQgaXNWZXJ0aWNhbCgpIHsgcmV0dXJuIHRoaXMuX2lzVmVydGljYWw7IH1cclxuXHJcbiAgICBwcml2YXRlIF9saXN0U2l6ZTogbnVtYmVyID0gMDtcclxuICAgIGdldCBsaXN0U2l6ZSgpIHsgcmV0dXJuIHRoaXMuX2xpc3RTaXplOyB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2l6ZTogbnVtYmVyID0gMDtcclxuICAgIGdldCBzaXplKCkgeyByZXR1cm4gdGhpcy5fc2l6ZTsgfVxyXG5cclxuICAgIHByaXZhdGUgX2lzU3RhcnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgZ2V0IGlzU3RhcnQoKSB7IHJldHVybiB0aGlzLl9pc1N0YXJ0OyB9XHJcblxyXG4gICAgcHJpdmF0ZSBfaXNFbmQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGdldCBpc0VuZCgpIHsgcmV0dXJuIHRoaXMuX2lzRW5kOyB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZGVsdGE6IG51bWJlciA9IDA7XHJcbiAgICBnZXQgZGVsdGEoKSB7IHJldHVybiB0aGlzLl9kZWx0YTsgfVxyXG5cclxuICAgIHByaXZhdGUgX3Njcm9sbERlbHRhOiBudW1iZXIgPSAwO1xyXG4gICAgZ2V0IHNjcm9sbERlbHRhKCkgeyByZXR1cm4gdGhpcy5fc2Nyb2xsRGVsdGE7IH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwYXJhbXM6IElTY3JvbGxFdmVudFBhcmFtcykge1xyXG4gICAgICAgIGNvbnN0IHsgZGlyZWN0aW9uLCBpc1ZlcnRpY2FsLCBjb250YWluZXIsIGxpc3QsIGRlbHRhLCBzY3JvbGxEZWx0YSB9ID0gcGFyYW1zO1xyXG4gICAgICAgIHRoaXMuX2RpcmVjdGlvbiA9IGRpcmVjdGlvbjtcclxuICAgICAgICB0aGlzLl9pc1ZlcnRpY2FsID0gaXNWZXJ0aWNhbDtcclxuICAgICAgICB0aGlzLl9zY3JvbGxTaXplID0gaXNWZXJ0aWNhbCA/IGNvbnRhaW5lci5zY3JvbGxUb3AgOiBjb250YWluZXIuc2Nyb2xsTGVmdDtcclxuICAgICAgICB0aGlzLl9zY3JvbGxXZWlnaHQgPSBpc1ZlcnRpY2FsID8gY29udGFpbmVyLnNjcm9sbEhlaWdodCA6IGNvbnRhaW5lci5zY3JvbGxXaWR0aDtcclxuICAgICAgICB0aGlzLl9saXN0U2l6ZSA9IGlzVmVydGljYWwgPyBsaXN0Lm9mZnNldEhlaWdodCA6IGxpc3Qub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgdGhpcy5fc2l6ZSA9IGlzVmVydGljYWwgPyBjb250YWluZXIub2Zmc2V0SGVpZ2h0IDogY29udGFpbmVyLm9mZnNldFdpZHRoO1xyXG4gICAgICAgIHRoaXMuX2lzRW5kID0gKHRoaXMuX3Njcm9sbFNpemUgKyB0aGlzLl9zaXplKSA9PT0gdGhpcy5fc2Nyb2xsV2VpZ2h0O1xyXG4gICAgICAgIHRoaXMuX2RlbHRhID0gZGVsdGE7XHJcbiAgICAgICAgdGhpcy5fc2Nyb2xsRGVsdGEgPSBzY3JvbGxEZWx0YTtcclxuICAgICAgICB0aGlzLl9pc1N0YXJ0ID0gdGhpcy5fc2Nyb2xsU2l6ZSA9PT0gMDtcclxuICAgIH1cclxufSJdfQ==
@@ -1,15 +0,0 @@
1
- /**
2
- * Switch css classes
3
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/15.x/projects/ng-virtual-list/src/lib/utils/toggleClassName.ts
4
- * @author Evgenii Grebennikov
5
- * @email djonnyx@gmail.com
6
- */
7
- export const toggleClassName = (el, className, remove = false) => {
8
- if (!el.classList.contains(className)) {
9
- el.classList.add(className);
10
- }
11
- else if (remove) {
12
- el.classList.remove(className);
13
- }
14
- };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlQ2xhc3NOYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvdXRpbHMvdG9nZ2xlQ2xhc3NOYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsRUFBZSxFQUFFLFNBQWlCLEVBQUUsTUFBTSxHQUFHLEtBQUssRUFBRSxFQUFFO0lBQ2xGLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUNuQyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUMvQjtTQUFNLElBQUksTUFBTSxFQUFFO1FBQ2YsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDbEM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLyoqXHJcbiAqIFN3aXRjaCBjc3MgY2xhc3Nlc1xyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNS54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL3RvZ2dsZUNsYXNzTmFtZS50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdG9nZ2xlQ2xhc3NOYW1lID0gKGVsOiBIVE1MRWxlbWVudCwgY2xhc3NOYW1lOiBzdHJpbmcsIHJlbW92ZSA9IGZhbHNlKSA9PiB7XHJcbiAgICBpZiAoIWVsLmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpKSB7XHJcbiAgICAgICAgZWwuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xyXG4gICAgfSBlbHNlIGlmIChyZW1vdmUpIHtcclxuICAgICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XHJcbiAgICB9XHJcbn07XHJcbiJdfQ==