ng-virtual-list 21.12.0 → 21.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -38,10 +38,10 @@ class NgScrollBarService {
38
38
  click(event) {
39
39
  this._$click.next(event);
40
40
  }
41
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
42
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollBarService, providedIn: 'root' });
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
42
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollBarService, providedIn: 'root' });
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollBarService, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollBarService, decorators: [{
45
45
  type: Injectable,
46
46
  args: [{
47
47
  providedIn: 'root'
@@ -60,10 +60,10 @@ class NgScrollBarPublicService {
60
60
  _internalService = inject(NgScrollBarService);
61
61
  get $click() { return this._internalService.$click; }
62
62
  get $state() { return this._internalService.$state; }
63
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollBarPublicService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
64
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollBarPublicService, providedIn: 'root' });
63
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollBarPublicService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
64
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollBarPublicService, providedIn: 'root' });
65
65
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollBarPublicService, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollBarPublicService, decorators: [{
67
67
  type: Injectable,
68
68
  args: [{
69
69
  providedIn: 'root'
@@ -983,10 +983,10 @@ class NgVirtualListService {
983
983
  scrollToEnd(options) {
984
984
  this._$scrollToEnd.next(options);
985
985
  }
986
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
987
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListService, providedIn: 'root' });
986
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
987
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListService, providedIn: 'root' });
988
988
  }
989
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListService, decorators: [{
989
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListService, decorators: [{
990
990
  type: Injectable,
991
991
  args: [{
992
992
  providedIn: 'root'
@@ -1099,10 +1099,10 @@ class NgVirtualListPublicService {
1099
1099
  scrollToEnd(options) {
1100
1100
  this._internalService.scrollToEnd(options);
1101
1101
  }
1102
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListPublicService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1103
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListPublicService, providedIn: 'root' });
1102
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListPublicService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1103
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListPublicService, providedIn: 'root' });
1104
1104
  }
1105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListPublicService, decorators: [{
1105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListPublicService, decorators: [{
1106
1106
  type: Injectable,
1107
1107
  args: [{
1108
1108
  providedIn: 'root'
@@ -1116,8 +1116,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
1116
1116
  * @email djonnyx@gmail.com
1117
1117
  */
1118
1118
  class BaseVirtualListItemComponent {
1119
- _item = viewChild('item', ...(ngDevMode ? [{ debugName: "_item" }] : /* istanbul ignore next */ []));
1120
- _container = viewChild('container', ...(ngDevMode ? [{ debugName: "_container" }] : /* istanbul ignore next */ []));
1119
+ _item = viewChild('item', ...(ngDevMode ? [{ debugName: "_item" }] : []));
1120
+ _container = viewChild('container', ...(ngDevMode ? [{ debugName: "_container" }] : []));
1121
1121
  _apiService = inject(NgVirtualListPublicService);
1122
1122
  _service = inject(NgVirtualListService);
1123
1123
  _id;
@@ -1141,12 +1141,12 @@ class BaseVirtualListItemComponent {
1141
1141
  }
1142
1142
  get isSelected() { return this._isSelected; }
1143
1143
  _isCollapsed = false;
1144
- config = signal({}, ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
1145
- measures = signal(null, ...(ngDevMode ? [{ debugName: "measures" }] : /* istanbul ignore next */ []));
1146
- focused = signal(false, ...(ngDevMode ? [{ debugName: "focused" }] : /* istanbul ignore next */ []));
1147
- part = signal(PART_DEFAULT_ITEM, ...(ngDevMode ? [{ debugName: "part" }] : /* istanbul ignore next */ []));
1148
- fxPart = signal(PART_DEFAULT_ITEM_FX, ...(ngDevMode ? [{ debugName: "fxPart" }] : /* istanbul ignore next */ []));
1149
- data = signal(null, ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
1144
+ config = signal({}, ...(ngDevMode ? [{ debugName: "config" }] : []));
1145
+ measures = signal(null, ...(ngDevMode ? [{ debugName: "measures" }] : []));
1146
+ focused = signal(false, ...(ngDevMode ? [{ debugName: "focused" }] : []));
1147
+ part = signal(PART_DEFAULT_ITEM, ...(ngDevMode ? [{ debugName: "part" }] : []));
1148
+ fxPart = signal(PART_DEFAULT_ITEM_FX, ...(ngDevMode ? [{ debugName: "fxPart" }] : []));
1149
+ data = signal(null, ...(ngDevMode ? [{ debugName: "data" }] : []));
1150
1150
  _data = null;
1151
1151
  set item(v) {
1152
1152
  if (this._data === v || this._data?.id === -1 || !v) {
@@ -1186,7 +1186,7 @@ class BaseVirtualListItemComponent {
1186
1186
  get visibility() {
1187
1187
  return this._elementRef.nativeElement.style.visibility;
1188
1188
  }
1189
- itemRenderer = signal(undefined, ...(ngDevMode ? [{ debugName: "itemRenderer" }] : /* istanbul ignore next */ []));
1189
+ itemRenderer = signal(undefined, ...(ngDevMode ? [{ debugName: "itemRenderer" }] : []));
1190
1190
  _renderer;
1191
1191
  set renderer(v) {
1192
1192
  if (this._renderer !== v) {
@@ -1218,17 +1218,17 @@ class BaseVirtualListItemComponent {
1218
1218
  [CLASS_NAME_SNAPPED]: data?.config?.snapped ?? false, [CLASS_NAME_SNAPPED_OUT]: data?.config?.snappedOut ?? false,
1219
1219
  [CLASS_NAME_FOCUS]: _focus,
1220
1220
  };
1221
- }, ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
1221
+ }, ...(ngDevMode ? [{ debugName: "classes" }] : []));
1222
1222
  this.index = computed(() => {
1223
1223
  return this.config()?.tabIndex ?? -1;
1224
- }, ...(ngDevMode ? [{ debugName: "index" }] : /* istanbul ignore next */ []));
1224
+ }, ...(ngDevMode ? [{ debugName: "index" }] : []));
1225
1225
  this.templateContext = computed(() => {
1226
1226
  const data = this.data(), measures = this.measures(), config = this.config();
1227
1227
  return {
1228
1228
  data: data?.data, prevData: data?.previouseData, nextData: data?.nextData, measures,
1229
1229
  config, reseted: false, index: data?.index ?? -1, api: this._apiService,
1230
1230
  };
1231
- }, ...(ngDevMode ? [{ debugName: "templateContext" }] : /* istanbul ignore next */ []));
1231
+ }, ...(ngDevMode ? [{ debugName: "templateContext" }] : []));
1232
1232
  if (this._service.isVertical) {
1233
1233
  this._elementRef.nativeElement.style.height = `${this._service.itemSize}px`;
1234
1234
  }
@@ -1381,10 +1381,10 @@ class BaseVirtualListItemComponent {
1381
1381
  styles.visibility = VISIBILITY_HIDDEN;
1382
1382
  }
1383
1383
  }
1384
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BaseVirtualListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1385
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.16", type: BaseVirtualListItemComponent, isStandalone: false, selector: "ng-base-virtual-list-item", viewQueries: [{ propertyName: "_item", first: true, predicate: ["item"], descendants: true, isSignal: true }, { propertyName: "_container", first: true, predicate: ["container"], descendants: true, isSignal: true }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1384
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: BaseVirtualListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1385
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: BaseVirtualListItemComponent, isStandalone: false, selector: "ng-base-virtual-list-item", viewQueries: [{ propertyName: "_item", first: true, predicate: ["item"], descendants: true, isSignal: true }, { propertyName: "_container", first: true, predicate: ["container"], descendants: true, isSignal: true }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1386
1386
  }
1387
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BaseVirtualListItemComponent, decorators: [{
1387
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: BaseVirtualListItemComponent, decorators: [{
1388
1388
  type: Component,
1389
1389
  args: [{
1390
1390
  selector: 'ng-base-virtual-list-item',
@@ -1434,10 +1434,10 @@ class VirtualClickDirective {
1434
1434
  }));
1435
1435
  })).subscribe();
1436
1436
  }
1437
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: VirtualClickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1438
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: VirtualClickDirective, isStandalone: false, selector: "[virtualClick]", inputs: { maxDistance: ["maxClickDistance", "maxDistance"] }, outputs: { onVirtualClick: "onVirtualClick" }, ngImport: i0 });
1437
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: VirtualClickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1438
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: VirtualClickDirective, isStandalone: false, selector: "[virtualClick]", inputs: { maxDistance: ["maxClickDistance", "maxDistance"] }, outputs: { onVirtualClick: "onVirtualClick" }, ngImport: i0 });
1439
1439
  }
1440
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: VirtualClickDirective, decorators: [{
1440
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: VirtualClickDirective, decorators: [{
1441
1441
  type: Directive,
1442
1442
  args: [{
1443
1443
  selector: '[virtualClick]',
@@ -1457,7 +1457,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
1457
1457
  * @email djonnyx@gmail.com
1458
1458
  */
1459
1459
  class NgVirtualListItemComponent extends BaseVirtualListItemComponent {
1460
- maxClickDistance = signal(DEFAULT_CLICK_DISTANCE, ...(ngDevMode ? [{ debugName: "maxClickDistance" }] : /* istanbul ignore next */ []));
1460
+ maxClickDistance = signal(DEFAULT_CLICK_DISTANCE, ...(ngDevMode ? [{ debugName: "maxClickDistance" }] : []));
1461
1461
  _injector = inject(Injector);
1462
1462
  constructor() {
1463
1463
  super();
@@ -1625,10 +1625,10 @@ class NgVirtualListItemComponent extends BaseVirtualListItemComponent {
1625
1625
  onClickHandler() {
1626
1626
  this._service.virtualClick(this._data);
1627
1627
  }
1628
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1629
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: NgVirtualListItemComponent, isStandalone: false, selector: "ng-virtual-list-item", host: { attributes: { "role": "listitem" }, classAttribute: "ngvl__item" }, usesInheritance: true, ngImport: i0, template: "@let renderer = itemRenderer();\r\n@let class = classes();\r\n<div #item class=\"ngvl-item\" [ngClass]=\"class\" [part]=\"part()\" [attr.ngvl-index]=\"index()\" [attr.ngvl-visibility]=\"visibility\" tabindex=\"-1\">\r\n @if (_blendColor) {\r\n <div class=\"ngvl-item__blend-color\" [style.--blend-color]=\"_blendColor\"></div>\r\n }\r\n <div #container virtualClick [part]=\"fxPart()\" [maxClickDistance]=\"maxClickDistance()\" class=\"ngvl-item__container\"\r\n [ngClass]=\"class\" (onVirtualClick)=\"onClickHandler()\">\r\n @if (renderer) {\r\n <ng-container [ngTemplateOutlet]=\"renderer\" [ngTemplateOutletContext]=\"templateContext()\" />\r\n }\r\n </div>\r\n</div>", styles: [":host{display:block;position:absolute;left:0;top:0;box-sizing:border-box;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-moz-user-drag:none;text-rendering:optimizeSpeed;image-rendering:auto}.ngvl-item{position:relative;margin:0;padding:0;overflow:hidden;outline:none;width:inherit;height:inherit;box-sizing:border-box}.ngvl-item__blend-color{position:absolute;left:0;top:0;width:100%;height:100%;background-color:var(--blend-color);z-index:-1}.ngvl-item__container{margin:0;padding:0;width:100%;height:100%;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: VirtualClickDirective, selector: "[virtualClick]", inputs: ["maxClickDistance"], outputs: ["onVirtualClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1628
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1629
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: NgVirtualListItemComponent, isStandalone: false, selector: "ng-virtual-list-item", host: { attributes: { "role": "listitem" }, classAttribute: "ngvl__item" }, usesInheritance: true, ngImport: i0, template: "@let renderer = itemRenderer();\r\n@let class = classes();\r\n<div #item class=\"ngvl-item\" [ngClass]=\"class\" [part]=\"part()\" [attr.ngvl-index]=\"index()\" [attr.ngvl-visibility]=\"visibility\" tabindex=\"-1\">\r\n @if (_blendColor) {\r\n <div class=\"ngvl-item__blend-color\" [style.--blend-color]=\"_blendColor\"></div>\r\n }\r\n <div #container virtualClick [part]=\"fxPart()\" [maxClickDistance]=\"maxClickDistance()\" class=\"ngvl-item__container\"\r\n [ngClass]=\"class\" (onVirtualClick)=\"onClickHandler()\">\r\n @if (renderer) {\r\n <ng-container [ngTemplateOutlet]=\"renderer\" [ngTemplateOutletContext]=\"templateContext()\" />\r\n }\r\n </div>\r\n</div>", styles: [":host{display:block;position:absolute;left:0;top:0;box-sizing:border-box;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-moz-user-drag:none;text-rendering:optimizeSpeed;image-rendering:auto}.ngvl-item{position:relative;margin:0;padding:0;overflow:hidden;outline:none;width:inherit;height:inherit;box-sizing:border-box}.ngvl-item__blend-color{position:absolute;left:0;top:0;width:100%;height:100%;background-color:var(--blend-color);z-index:-1}.ngvl-item__container{margin:0;padding:0;width:100%;height:100%;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: VirtualClickDirective, selector: "[virtualClick]", inputs: ["maxClickDistance"], outputs: ["onVirtualClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1630
1630
  }
1631
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListItemComponent, decorators: [{
1631
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListItemComponent, decorators: [{
1632
1632
  type: Component,
1633
1633
  args: [{ selector: 'ng-virtual-list-item', host: {
1634
1634
  'class': 'ngvl__item',
@@ -1762,7 +1762,7 @@ class ScrollEvent {
1762
1762
 
1763
1763
  /**
1764
1764
  * Event emitter
1765
- * @link https://github.com/DjonnyX/data-channel-router/blob/main/library/src/utils/event-emitter/event-emitter.ts
1765
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/main/library/src/utils/event-emitter/event-emitter.ts
1766
1766
  * @author Evgenii Alexandrovich Grebennikov
1767
1767
  * @email djonnyx@gmail.com
1768
1768
  */
@@ -2065,7 +2065,7 @@ class Tracker {
2065
2065
  }
2066
2066
  const untrackedItems = [...components], newTrackItems = [], untrackedComponentsByTypeMap = {}, isDown = direction === 0 || direction === 1, snapped = !!snappedComponents ? [...snappedComponents] : [];
2067
2067
  let isRegularSnapped = false;
2068
- const serviceIdProp = getServiceIdProp(trackBy);
2068
+ const serviceIdProp = getServiceIdProp(trackBy), snappedItems = new Array();
2069
2069
  for (let i = isDown ? 0 : items.length - 1, l = isDown ? items.length : 0; isDown ? i < l : i >= l; isDown ? i++ : i--) {
2070
2070
  const item = items[i], isDummy = item?.data?.[SERVICE_PROP_DUMMY] && (item?.data?.[SERVICE_PROP_DUMMY] === SERVICE_PROP_DUMMY_ENABLED);
2071
2071
  if (isDummy) {
@@ -2088,6 +2088,7 @@ class Tracker {
2088
2088
  isRegularSnapped = true;
2089
2089
  snappedComponent.instance.item = item;
2090
2090
  snappedComponent.instance.show();
2091
+ snappedItems.push(snappedComponent);
2091
2092
  }
2092
2093
  }
2093
2094
  }
@@ -2153,6 +2154,7 @@ class Tracker {
2153
2154
  if (!!snappedComponent) {
2154
2155
  snappedComponent.instance.item = item;
2155
2156
  snappedComponent.instance.show();
2157
+ snappedItems.push(snappedComponent);
2156
2158
  }
2157
2159
  }
2158
2160
  }
@@ -2183,13 +2185,14 @@ class Tracker {
2183
2185
  comp.instance.hide();
2184
2186
  }
2185
2187
  }
2186
- if (!isRegularSnapped) {
2187
- for (let i = 0, l = snapped.length; i < l; i++) {
2188
- const snappedComponent = snapped[i];
2189
- if (!!snappedComponent) {
2190
- snappedComponent.instance.item = null;
2191
- snappedComponent.instance.hide();
2192
- }
2188
+ for (let i = 0, l = snapped.length; i < l; i++) {
2189
+ const snappedComponent = snapped[i];
2190
+ if (snappedItems.indexOf(snappedComponent) > -1) {
2191
+ continue;
2192
+ }
2193
+ if (!!snappedComponent) {
2194
+ snappedComponent.instance.item = null;
2195
+ snappedComponent.instance.hide();
2193
2196
  }
2194
2197
  }
2195
2198
  }
@@ -2669,7 +2672,7 @@ class TrackBox extends CacheMap {
2669
2672
  * Calculates list metrics
2670
2673
  */
2671
2674
  recalculateMetrics(options) {
2672
- const { fromItemId, bounds, collection, dynamicSize, isVertical, itemSize, minItemSize, maxItemSize, bufferSize: minBufferSize, scrollSize, stickyEnabled, itemConfigMap, enabledBufferOptimization, previousTotalSize, snapToItem, snapToItemAlign, deletedItemsMap, itemTransform } = options, roundedScrollSize = Math.round(scrollSize);
2675
+ const { alignment, fromItemId, bounds, collection, dynamicSize, isVertical, itemSize, minItemSize, maxItemSize, bufferSize: minBufferSize, scrollSize, stickyEnabled, itemConfigMap, enabledBufferOptimization, previousTotalSize, snapToItem, snapToItemAlign, deletedItemsMap, itemTransform } = options, roundedScrollSize = Math.round(scrollSize);
2673
2676
  const trackBy = this._trackingPropertyName, bufferSize = Math.max(minBufferSize, this._bufferSize), { width, height } = bounds, sizeProperty = isVertical ? HEIGHT_PROP_NAME : WIDTH_PROP_NAME, size = isVertical ? height : width, totalLength = collection.length, typicalItemSize = itemSize, w = isVertical ? width : typicalItemSize, h = isVertical ? typicalItemSize : height, map = this._map, snapshot = this._snapshot, divides = this._divides, stickyPos = Math.floor(scrollSize) + this._scrollStartOffset, leftItemsOrRowsWeights = [], isFromId = fromItemId !== undefined && (typeof fromItemId === 'number' && fromItemId > -1)
2674
2677
  || (typeof fromItemId === 'string' && fromItemId > '-1');
2675
2678
  let leftItemsOffset = 0, rightItemsOffset = 0;
@@ -2809,15 +2812,17 @@ class TrackBox extends CacheMap {
2809
2812
  }
2810
2813
  if (id == fromItemId) {
2811
2814
  isFromItemIdFound = true;
2812
- const { num, offset } = this.getElementNumToEnd(i, collection, map, typicalItemSize, size, isVertical), leftViewportSize = size - offset;
2813
- if (leftViewportSize > 0) {
2814
- const { num: num1, offset: offset1 } = this.getElementNumToEnd(i + num, collection, map, typicalItemSize, size, isVertical, 0, true), deltaNum = (num1 - num), deltaOffset = (offset1 - offset);
2815
- totalItemsToDisplayEndWeight += offset;
2816
- itemsFromStartToScrollEnd -= deltaNum;
2817
- rightItemsWeight = rightItemLength = 0;
2818
- leftHiddenItemsWeight -= deltaOffset;
2819
- leftItemsOrRowsWeights.splice(leftItemsOrRowsWeights.length - deltaNum, deltaNum);
2820
- y -= deltaOffset;
2815
+ if (alignment !== Alignments.CENTER) {
2816
+ const { num, offset } = this.getElementNumToEnd(i, collection, map, typicalItemSize, size, isVertical), leftViewportSize = size - offset;
2817
+ if (leftViewportSize > 0) {
2818
+ const { num: num1, offset: offset1 } = this.getElementNumToEnd(i + num, collection, map, typicalItemSize, size, isVertical, 0, true), deltaNum = (num1 - num), deltaOffset = (offset1 - offset);
2819
+ totalItemsToDisplayEndWeight += offset;
2820
+ itemsFromStartToScrollEnd -= deltaNum;
2821
+ rightItemsWeight = rightItemLength = 0;
2822
+ leftHiddenItemsWeight -= deltaOffset;
2823
+ leftItemsOrRowsWeights.splice(leftItemsOrRowsWeights.length - deltaNum, deltaNum);
2824
+ y -= deltaOffset;
2825
+ }
2821
2826
  }
2822
2827
  itemById = collectionItem;
2823
2828
  itemByIdPos = y;
@@ -3004,7 +3009,7 @@ class TrackBox extends CacheMap {
3004
3009
  rightItemsWeight = Math.floor(rightItemLength * dividedTypicalItemSize / typicalItemSize) * typicalItemSize;
3005
3010
  leftHiddenItemsWeight = Math.floor(itemsFromStartToScrollEnd * dividedTypicalItemSize / typicalItemSize) * typicalItemSize;
3006
3011
  totalItemsToDisplayEndWeight = Math.floor(itemsFromStartToDisplayEnd * dividedTypicalItemSize / typicalItemSize) * typicalItemSize;
3007
- totalSize = (totalLength * dividedTypicalItemSize) + this._scrollStartOffset + this._scrollEndOffset;
3012
+ totalSize = (Math.ceil(totalLength / divides) * divides * dividedTypicalItemSize) + this._scrollStartOffset + this._scrollEndOffset;
3008
3013
  const k = totalSize !== 0 ? previousTotalSize / totalSize : 0;
3009
3014
  if (isFromId) {
3010
3015
  const index = collection.findIndex(item => item[trackBy] == fromItemId);
@@ -3380,7 +3385,7 @@ class TrackBox extends CacheMap {
3380
3385
  }
3381
3386
  if (!isDummy) {
3382
3387
  if ((isSnappingMethodAdvanced || id !== stickyItem?.id) && id !== endStickyItem?.id) {
3383
- const isOdd = (items.length - layoutIndexOffset + i) % 2 != 0, sticky = itemConfigMap[id]?.sticky ?? 0, fullSize = itemConfigMap[id]?.fullSize ?? false, selectable = itemConfigMap[id]?.selectable ?? true, collapsable = itemConfigMap[id]?.collapsable ?? false, snapped = stickyEnabled && (sticky === 1 && (pos <= scrollSize + this._scrollStartOffset) || sticky === 2 && (pos >= scrollSize + boundsSize - size)), absoluteStartPosition = pos - scrollSize, ratio = size !== 0 ? boundsSize / size : 0, absoluteStartPositionPercent = -(boundsSize !== 0 ? absoluteStartPosition / boundsSize : 0) * ratio, absoluteEndPosition = boundsSize - (absoluteStartPositionPercent + size), absoluteEndPositionPercent = (absoluteStartPositionPercent + (boundsSize !== 0 ? (absoluteEndPosition + size) / boundsSize : 0) * ratio), x = isVertical ? divSize * ((sticky || fullSize) ? 0 : ci) : pos, y = isVertical ? pos : divSize * ((sticky || fullSize) ? 0 : ci), measures = {
3388
+ const isOdd = (items.length - layoutIndexOffset + i) % 2 != 0, sticky = itemConfigMap[id]?.sticky ?? 0, fullSize = itemConfigMap[id]?.fullSize ?? false, selectable = itemConfigMap[id]?.selectable ?? true, collapsable = itemConfigMap[id]?.collapsable ?? false, snapped = stickyEnabled && ((sticky === 1 && (pos <= scrollSize + this._scrollStartOffset)) || (sticky === 2 && (pos >= scrollSize + boundsSize - size))), absoluteStartPosition = pos - scrollSize, ratio = size !== 0 ? boundsSize / size : 0, absoluteStartPositionPercent = -(boundsSize !== 0 ? absoluteStartPosition / boundsSize : 0) * ratio, absoluteEndPosition = boundsSize - (absoluteStartPositionPercent + size), absoluteEndPositionPercent = (absoluteStartPositionPercent + (boundsSize !== 0 ? (absoluteEndPosition + size) / boundsSize : 0) * ratio), x = isVertical ? divSize * ((sticky || fullSize) ? 0 : ci) : pos, y = isVertical ? pos : divSize * ((sticky || fullSize) ? 0 : ci), measures = {
3384
3389
  x,
3385
3390
  y,
3386
3391
  transformedX: x,
@@ -3408,7 +3413,7 @@ class TrackBox extends CacheMap {
3408
3413
  maxWidth: maxItemSize,
3409
3414
  maxHeight: maxItemSize,
3410
3415
  scrollDirection,
3411
- delta: sticky === 1 ? actualSnippedPosition : sticky === 2 ? actualEndSnippedPosition - deltaOffet - size : 0,
3416
+ delta: sticky === 1 ? actualSnippedPosition : (sticky === 2 ? (actualEndSnippedPosition - deltaOffet - size) : 0),
3412
3417
  }, config = {
3413
3418
  isFirst: i === layoutIndexOffset,
3414
3419
  isLast: i === li,
@@ -3418,7 +3423,7 @@ class TrackBox extends CacheMap {
3418
3423
  isVertical,
3419
3424
  collapsable,
3420
3425
  selectable,
3421
- sticky: sticky,
3426
+ sticky,
3422
3427
  snap: stickyEnabled,
3423
3428
  snapped: false,
3424
3429
  snappedOut: false,
@@ -3471,9 +3476,9 @@ class TrackBox extends CacheMap {
3471
3476
  i++;
3472
3477
  }
3473
3478
  const axis = isVertical ? Y_PROP_NAME : X_PROP_NAME;
3474
- if (!!nextSticky && !!stickyItem && nextSticky.measures[axis] <= actualSnippedPosition + stickyItemSize) {
3475
- if (nextSticky.measures[axis] > scrollSize - stickyItemSize) {
3476
- stickyItem.measures[axis] = nextSticky.measures[axis] - stickyItemSize;
3479
+ if (!!nextSticky && !!stickyItem && nextSticky.measures[axis] <= actualSnippedPosition + stickyItem.measures[sizeProperty]) {
3480
+ if (nextSticky.measures[axis] > actualSnippedPosition) {
3481
+ stickyItem.measures[axis] = nextSticky.measures[axis] - stickyItem.measures[sizeProperty];
3477
3482
  stickyItem.config.snapped = nextSticky.config.snapped = false;
3478
3483
  stickyItem.config.snappedOut = true;
3479
3484
  stickyItem.config.sticky = 1;
@@ -3482,7 +3487,8 @@ class TrackBox extends CacheMap {
3482
3487
  else {
3483
3488
  nextSticky.config.snapped = true;
3484
3489
  nextSticky.measures.delta = (isVertical ? nextSticky.measures.y : nextSticky.measures.x) - scrollSize;
3485
- stickyItem.measures[axis] = stickyItem.measures[axis] + stickyItem.measures[sizeProperty];
3490
+ stickyItem.measures[axis] = nextSticky.measures[axis] - stickyItem.measures[sizeProperty];
3491
+ stickyItem.measures.delta = (isVertical ? stickyItem.measures.y : stickyItem.measures.x) - scrollSize;
3486
3492
  }
3487
3493
  }
3488
3494
  if (!!nextEndSticky && !!endStickyItem &&
@@ -3499,6 +3505,7 @@ class TrackBox extends CacheMap {
3499
3505
  nextEndSticky.measures[axis] = actualEndSnippedPosition - nextEndSticky.measures[sizeProperty];
3500
3506
  nextEndSticky.measures.delta = (isVertical ? nextEndSticky.measures.y : nextEndSticky.measures.x) - scrollSize;
3501
3507
  endStickyItem.measures[axis] = nextEndSticky.measures[axis] + nextEndSticky.measures[sizeProperty];
3508
+ endStickyItem.measures.delta = (isVertical ? endStickyItem.measures.y : endStickyItem.measures.x) - scrollSize;
3502
3509
  }
3503
3510
  }
3504
3511
  if (itemTransform !== null) {
@@ -3954,7 +3961,7 @@ const easeLinear = (t) => {
3954
3961
 
3955
3962
  /**
3956
3963
  * Animator
3957
- * @link https://github.com/DjonnyX/data-channel-router/blob/main/library/src/utils/animator/animator.ts
3964
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/main/library/src/utils/animator/animator.ts
3958
3965
  * @author Evgenii Alexandrovich Grebennikov
3959
3966
  * @email djonnyx@gmail.com
3960
3967
  */
@@ -4031,7 +4038,7 @@ class Animator {
4031
4038
  const SCROLL_VIEW_INVERSION = new InjectionToken('ScrollViewInversion');
4032
4039
  const SCROLL_VIEW_OVERSCROLL_ENABLED = new InjectionToken('ScrollViewOverscrollEnabled');
4033
4040
  const SCROLL_VIEW_NORMALIZE_VALUE_FROM_ZERO = new InjectionToken('ScrollViewNormalizeValueFromZero');
4034
- const TOP$1 = 'top', LEFT$1 = 'left', INSTANT$1 = 'instant', AUTO = 'auto', SMOOTH = 'smooth', DURATION = 2000, FRICTION_FORCE = .035, MAX_DURATION = 4000, ANIMATION_DURATION = 50, MASS = .005, MAX_DIST = 12500, MAX_VELOCITY_TIMESTAMP = 100, SPEED_SCALE = 15, OVERSCROLL_START_ITERATION = 2, INTERSECTION_DISTANCE = 1;
4041
+ const TOP$1 = 'top', LEFT$1 = 'left', INSTANT$1 = 'instant', AUTO = 'auto', SMOOTH = 'smooth', DURATION = 2000, FRICTION_FORCE = .035, MAX_DURATION = 4000, ANIMATION_DURATION = 50, MASS = .005, ACCELERATION_SCALE = 40, MAX_DIST = 12500, MAX_VELOCITY_TIMESTAMP = 100, SPEED_SCALE = 15, OVERSCROLL_START_ITERATION = 2;
4035
4042
  const MAX_ITERATIONS_FOR_AVERAGE_CALCULATIONS = 5, INSTANT_VELOCITY_SCALE = 1000;
4036
4043
  const SCROLL_EVENT$1 = new Event(SCROLLER_SCROLL);
4037
4044
 
@@ -4142,16 +4149,16 @@ const getDir = (p, c) => {
4142
4149
  * @email djonnyx@gmail.com
4143
4150
  */
4144
4151
  class BaseScrollView {
4145
- scrollContent = viewChild('scrollContent', ...(ngDevMode ? [{ debugName: "scrollContent" }] : /* istanbul ignore next */ []));
4146
- scrollViewport = viewChild('scrollViewport', ...(ngDevMode ? [{ debugName: "scrollViewport" }] : /* istanbul ignore next */ []));
4147
- direction = input(ScrollerDirection.VERTICAL, ...(ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []));
4148
- startOffset = input(0, ...(ngDevMode ? [{ debugName: "startOffset" }] : /* istanbul ignore next */ []));
4149
- endOffset = input(0, ...(ngDevMode ? [{ debugName: "endOffset" }] : /* istanbul ignore next */ []));
4150
- alignmentStartOffset = input(0, ...(ngDevMode ? [{ debugName: "alignmentStartOffset" }] : /* istanbul ignore next */ []));
4151
- alignmentEndOffset = input(0, ...(ngDevMode ? [{ debugName: "alignmentEndOffset" }] : /* istanbul ignore next */ []));
4152
- isInfinity = input(false, ...(ngDevMode ? [{ debugName: "isInfinity" }] : /* istanbul ignore next */ []));
4152
+ scrollContent = viewChild('scrollContent', ...(ngDevMode ? [{ debugName: "scrollContent" }] : []));
4153
+ scrollViewport = viewChild('scrollViewport', ...(ngDevMode ? [{ debugName: "scrollViewport" }] : []));
4154
+ direction = input(ScrollerDirection.VERTICAL, ...(ngDevMode ? [{ debugName: "direction" }] : []));
4155
+ startOffset = input(0, ...(ngDevMode ? [{ debugName: "startOffset" }] : []));
4156
+ endOffset = input(0, ...(ngDevMode ? [{ debugName: "endOffset" }] : []));
4157
+ alignmentStartOffset = input(0, ...(ngDevMode ? [{ debugName: "alignmentStartOffset" }] : []));
4158
+ alignmentEndOffset = input(0, ...(ngDevMode ? [{ debugName: "alignmentEndOffset" }] : []));
4159
+ isInfinity = input(false, ...(ngDevMode ? [{ debugName: "isInfinity" }] : []));
4153
4160
  isVertical;
4154
- grabbing = signal(false, ...(ngDevMode ? [{ debugName: "grabbing" }] : /* istanbul ignore next */ []));
4161
+ grabbing = signal(false, ...(ngDevMode ? [{ debugName: "grabbing" }] : []));
4155
4162
  _inversion = inject(SCROLL_VIEW_INVERSION);
4156
4163
  _overscrollEnabled = inject(SCROLL_VIEW_OVERSCROLL_ENABLED);
4157
4164
  _$updateScrollBar = new Subject();
@@ -4239,13 +4246,13 @@ class BaseScrollView {
4239
4246
  }
4240
4247
  return contentHeight < viewportHeight ? isVertical ? startOffset : 0 : ((contentHeight + this.alignmentEndOffset()) - viewportHeight);
4241
4248
  }
4242
- viewportBounds = signal({ width: 0, height: 0 }, ...(ngDevMode ? [{ debugName: "viewportBounds" }] : /* istanbul ignore next */ []));
4243
- contentBounds = signal({ width: 0, height: 0 }, ...(ngDevMode ? [{ debugName: "contentBounds" }] : /* istanbul ignore next */ []));
4249
+ viewportBounds = signal({ width: 0, height: 0 }, ...(ngDevMode ? [{ debugName: "viewportBounds" }] : []));
4250
+ contentBounds = signal({ width: 0, height: 0 }, ...(ngDevMode ? [{ debugName: "contentBounds" }] : []));
4244
4251
  _isCoordinatesOverrided = false;
4245
4252
  constructor() {
4246
4253
  this.isVertical = computed(() => {
4247
4254
  return this.direction() === ScrollerDirection.VERTICAL;
4248
- }, ...(ngDevMode ? [{ debugName: "isVertical" }] : /* istanbul ignore next */ []));
4255
+ }, ...(ngDevMode ? [{ debugName: "isVertical" }] : []));
4249
4256
  }
4250
4257
  tick() {
4251
4258
  this.onResizeContent();
@@ -4313,10 +4320,10 @@ class BaseScrollView {
4313
4320
  this.contentBounds.set({ width, height });
4314
4321
  }
4315
4322
  }
4316
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BaseScrollView, deps: [], target: i0.ɵɵFactoryTarget.Component });
4317
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.16", type: BaseScrollView, isStandalone: true, selector: "base-scroll-view", inputs: { direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, startOffset: { classPropertyName: "startOffset", publicName: "startOffset", isSignal: true, isRequired: false, transformFunction: null }, endOffset: { classPropertyName: "endOffset", publicName: "endOffset", isSignal: true, isRequired: false, transformFunction: null }, alignmentStartOffset: { classPropertyName: "alignmentStartOffset", publicName: "alignmentStartOffset", isSignal: true, isRequired: false, transformFunction: null }, alignmentEndOffset: { classPropertyName: "alignmentEndOffset", publicName: "alignmentEndOffset", isSignal: true, isRequired: false, transformFunction: null }, isInfinity: { classPropertyName: "isInfinity", publicName: "isInfinity", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "scrollContent", first: true, predicate: ["scrollContent"], descendants: true, isSignal: true }, { propertyName: "scrollViewport", first: true, predicate: ["scrollViewport"], descendants: true, isSignal: true }], ngImport: i0, template: '', isInline: true });
4323
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: BaseScrollView, deps: [], target: i0.ɵɵFactoryTarget.Component });
4324
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: BaseScrollView, isStandalone: true, selector: "base-scroll-view", inputs: { direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, startOffset: { classPropertyName: "startOffset", publicName: "startOffset", isSignal: true, isRequired: false, transformFunction: null }, endOffset: { classPropertyName: "endOffset", publicName: "endOffset", isSignal: true, isRequired: false, transformFunction: null }, alignmentStartOffset: { classPropertyName: "alignmentStartOffset", publicName: "alignmentStartOffset", isSignal: true, isRequired: false, transformFunction: null }, alignmentEndOffset: { classPropertyName: "alignmentEndOffset", publicName: "alignmentEndOffset", isSignal: true, isRequired: false, transformFunction: null }, isInfinity: { classPropertyName: "isInfinity", publicName: "isInfinity", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "scrollContent", first: true, predicate: ["scrollContent"], descendants: true, isSignal: true }, { propertyName: "scrollViewport", first: true, predicate: ["scrollViewport"], descendants: true, isSignal: true }], ngImport: i0, template: '', isInline: true });
4318
4325
  }
4319
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BaseScrollView, decorators: [{
4326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: BaseScrollView, decorators: [{
4320
4327
  type: Component,
4321
4328
  args: [{
4322
4329
  selector: 'base-scroll-view',
@@ -4374,14 +4381,14 @@ const calculateVelocity = (startPosition, currentPosition, timestamp) => {
4374
4381
  class NgScrollView extends BaseScrollView {
4375
4382
  cdkScrollable;
4376
4383
  _service = inject(NgVirtualListService);
4377
- scrollBehavior = input(DEFAULT_SCROLL_BEHAVIOR, ...(ngDevMode ? [{ debugName: "scrollBehavior" }] : /* istanbul ignore next */ []));
4378
- overscrollEnabled = input(DEFAULT_OVERSCROLL_ENABLED, ...(ngDevMode ? [{ debugName: "overscrollEnabled" }] : /* istanbul ignore next */ []));
4379
- scrollingSettings = input(DEFAULT_SCROLLING_SETTINGS, ...(ngDevMode ? [{ debugName: "scrollingSettings" }] : /* istanbul ignore next */ []));
4380
- snapToItem = input(DEFAULT_SNAP_TO_ITEM, ...(ngDevMode ? [{ debugName: "snapToItem" }] : /* istanbul ignore next */ []));
4381
- scrollingOneByOne = input(DEFAULT_SCROLLING_ONE_BY_ONE, ...(ngDevMode ? [{ debugName: "scrollingOneByOne" }] : /* istanbul ignore next */ []));
4382
- snapToItemAlign = input(DEFAULT_SNAP_TO_ITEM_ALIGN, ...(ngDevMode ? [{ debugName: "snapToItemAlign" }] : /* istanbul ignore next */ []));
4383
- snappingDistance = input(DEFAULT_SNAPPING_DISTANCE, ...(ngDevMode ? [{ debugName: "snappingDistance" }] : /* istanbul ignore next */ []));
4384
- animationParams = input(DEFAULT_ANIMATION_PARAMS, ...(ngDevMode ? [{ debugName: "animationParams" }] : /* istanbul ignore next */ []));
4384
+ scrollBehavior = input(DEFAULT_SCROLL_BEHAVIOR, ...(ngDevMode ? [{ debugName: "scrollBehavior" }] : []));
4385
+ overscrollEnabled = input(DEFAULT_OVERSCROLL_ENABLED, ...(ngDevMode ? [{ debugName: "overscrollEnabled" }] : []));
4386
+ scrollingSettings = input(DEFAULT_SCROLLING_SETTINGS, ...(ngDevMode ? [{ debugName: "scrollingSettings" }] : []));
4387
+ snapToItem = input(DEFAULT_SNAP_TO_ITEM, ...(ngDevMode ? [{ debugName: "snapToItem" }] : []));
4388
+ scrollingOneByOne = input(DEFAULT_SCROLLING_ONE_BY_ONE, ...(ngDevMode ? [{ debugName: "scrollingOneByOne" }] : []));
4389
+ snapToItemAlign = input(DEFAULT_SNAP_TO_ITEM_ALIGN, ...(ngDevMode ? [{ debugName: "snapToItemAlign" }] : []));
4390
+ snappingDistance = input(DEFAULT_SNAPPING_DISTANCE, ...(ngDevMode ? [{ debugName: "snappingDistance" }] : []));
4391
+ animationParams = input(DEFAULT_ANIMATION_PARAMS, ...(ngDevMode ? [{ debugName: "animationParams" }] : []));
4385
4392
  _normalizeValueFromZero = inject(SCROLL_VIEW_NORMALIZE_VALUE_FROM_ZERO);
4386
4393
  _isScrollsTo = false;
4387
4394
  _scrollDirection = new ScrollingDirection();
@@ -4788,8 +4795,8 @@ class NgScrollView extends BaseScrollView {
4788
4795
  continue;
4789
4796
  }
4790
4797
  if (v00) {
4791
- const a0 = timestamp < MAX_VELOCITY_TIMESTAMP ? (v00[1] !== 0 ? (lastVSign * Math.abs(Math.abs(v01[0]) - Math.abs(v00[0]))) / Math.abs(v00[1]) : 0) : 0.1;
4792
- aSum = (aSum * mass) + a0;
4798
+ const a0 = timestamp < MAX_VELOCITY_TIMESTAMP ? (v00[1] !== 0 ? (lastVSign * Math.abs(Math.abs(v01[0]) - Math.abs(v00[0]))) / Math.abs(v00[1]) : 0) : .1;
4799
+ aSum = Math.abs((aSum * mass)) + Math.abs(a0);
4793
4800
  prevV0 = v01;
4794
4801
  }
4795
4802
  prevV0 = v01;
@@ -4810,7 +4817,7 @@ class NgScrollView extends BaseScrollView {
4810
4817
  }
4811
4818
  moveWithAcceleration(isVertical, position, v0, v, a0, timestamp) {
4812
4819
  if (a0 !== 0 && timestamp < MAX_VELOCITY_TIMESTAMP) {
4813
- const dvSign = Math.sign(v), mass = this.scrollingSettings()?.mass ?? MASS, duration = DURATION, maxDuration = this.scrollingSettings()?.maxDuration ?? MAX_DURATION, maxDist = this.scrollingSettings()?.maxDistance ?? MAX_DIST, maxDistance = dvSign * maxDist, s = (dvSign * Math.abs((a0 * Math.pow(duration, 2)) * .5) / 1000) / mass, distance = Math.abs(s) < maxDist ? s : maxDistance, positionWithVelocity = position + (this._inversion ? -1 : 1) * distance, vmax = Math.max(Math.abs(v0), Math.abs(v)), ad = Math.abs(vmax !== 0 ? Math.sqrt(vmax) : 0) * 10 / mass, aDuration = ad < maxDuration ? ad : maxDuration, startPosition = isVertical ? this.y : this.x;
4820
+ const dvSign = Math.sign(v), mass = this.scrollingSettings()?.mass ?? MASS, duration = DURATION, maxDuration = this.scrollingSettings()?.maxDuration ?? MAX_DURATION, maxDist = this.scrollingSettings()?.maxDistance ?? MAX_DIST, maxDistance = dvSign * maxDist, s = (dvSign * Math.abs((a0 * Math.pow(duration, 2)) * .5) / 10000) / mass, distance = Math.abs(s) < maxDist ? s : maxDistance, positionWithVelocity = position + (this._inversion ? -1 : 1) * distance, ad = Math.abs(a0 !== 0 ? Math.sqrt(a0) : 0) * ACCELERATION_SCALE / mass, aDuration = ad < maxDuration ? ad : maxDuration, startPosition = isVertical ? this.y : this.x;
4814
4821
  this.animate(startPosition, Math.round(positionWithVelocity), aDuration, easeOutQuad, true);
4815
4822
  }
4816
4823
  else {
@@ -4826,7 +4833,7 @@ class NgScrollView extends BaseScrollView {
4826
4833
  }
4827
4834
  animate(startValue, endValue, duration = ANIMATION_DURATION, easingFunction = easeOutQuad, userAction = false, alignmentAtComplete = true, skipOverridedCoordinates = false) {
4828
4835
  const isVertical = this.isVertical();
4829
- let iteration = 0, position = startValue;
4836
+ let position = startValue;
4830
4837
  this._isAlignmentAnimation = !alignmentAtComplete;
4831
4838
  this._animator.animate({
4832
4839
  withDelta: this._service.dynamic && !this.isInfinity(),
@@ -4843,17 +4850,16 @@ class NgScrollView extends BaseScrollView {
4843
4850
  this.animate(currentCoordinate, currentCoordinate + delta, duration - elapsed, easingFunction, userAction, alignmentAtComplete);
4844
4851
  return;
4845
4852
  }
4846
- const v0 = calculateVelocity(position, value, timestamp) ?? this.averageVelocity;
4853
+ const v0 = calculateVelocity(position, value - this._delta, timestamp) ?? this.averageVelocity;
4847
4854
  position = value;
4848
4855
  if (alignmentAtComplete && !this._isAlignmentAnimation && !skipOverridedCoordinates) {
4849
- if (iteration < MAX_ITERATIONS_FOR_AVERAGE_CALCULATIONS || !this.snapIfNecessary(v0)) {
4856
+ if (!this.snapIfNecessary(v0)) {
4850
4857
  this.move(isVertical, value, false, userAction);
4851
4858
  }
4852
4859
  }
4853
4860
  else {
4854
4861
  this.move(isVertical, value, false, userAction);
4855
4862
  }
4856
- iteration++;
4857
4863
  this._service.update(true);
4858
4864
  }, onComplete: ({ value, timestamp }) => {
4859
4865
  this._isAlignmentAnimation = false;
@@ -4905,10 +4911,9 @@ class NgScrollView extends BaseScrollView {
4905
4911
  return size;
4906
4912
  }
4907
4913
  alignPosition(animated = true, force = false) {
4908
- if (!this.snapToItem() || this._isAlignmentAnimation) {
4914
+ if (!this.snapToItem() || (this._isAlignmentAnimation && !force)) {
4909
4915
  return false;
4910
4916
  }
4911
- this.stopScrolling(true);
4912
4917
  const scrollDirection = this._scrollDirection.get() || (force ? 1 : 0);
4913
4918
  if (scrollDirection === 0) {
4914
4919
  return false;
@@ -5118,10 +5123,10 @@ class NgScrollView extends BaseScrollView {
5118
5123
  this._animator.dispose();
5119
5124
  }
5120
5125
  }
5121
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollView, deps: [], target: i0.ɵɵFactoryTarget.Component });
5122
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.16", type: NgScrollView, isStandalone: true, selector: "ng-scroll-view", inputs: { scrollBehavior: { classPropertyName: "scrollBehavior", publicName: "scrollBehavior", isSignal: true, isRequired: false, transformFunction: null }, overscrollEnabled: { classPropertyName: "overscrollEnabled", publicName: "overscrollEnabled", isSignal: true, isRequired: false, transformFunction: null }, scrollingSettings: { classPropertyName: "scrollingSettings", publicName: "scrollingSettings", isSignal: true, isRequired: false, transformFunction: null }, snapToItem: { classPropertyName: "snapToItem", publicName: "snapToItem", isSignal: true, isRequired: false, transformFunction: null }, scrollingOneByOne: { classPropertyName: "scrollingOneByOne", publicName: "scrollingOneByOne", isSignal: true, isRequired: false, transformFunction: null }, snapToItemAlign: { classPropertyName: "snapToItemAlign", publicName: "snapToItemAlign", isSignal: true, isRequired: false, transformFunction: null }, snappingDistance: { classPropertyName: "snappingDistance", publicName: "snappingDistance", isSignal: true, isRequired: false, transformFunction: null }, animationParams: { classPropertyName: "animationParams", publicName: "animationParams", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "cdkScrollable", first: true, predicate: ["scrollViewport"], descendants: true, read: CdkScrollable }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
5126
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollView, deps: [], target: i0.ɵɵFactoryTarget.Component });
5127
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: NgScrollView, isStandalone: true, selector: "ng-scroll-view", inputs: { scrollBehavior: { classPropertyName: "scrollBehavior", publicName: "scrollBehavior", isSignal: true, isRequired: false, transformFunction: null }, overscrollEnabled: { classPropertyName: "overscrollEnabled", publicName: "overscrollEnabled", isSignal: true, isRequired: false, transformFunction: null }, scrollingSettings: { classPropertyName: "scrollingSettings", publicName: "scrollingSettings", isSignal: true, isRequired: false, transformFunction: null }, snapToItem: { classPropertyName: "snapToItem", publicName: "snapToItem", isSignal: true, isRequired: false, transformFunction: null }, scrollingOneByOne: { classPropertyName: "scrollingOneByOne", publicName: "scrollingOneByOne", isSignal: true, isRequired: false, transformFunction: null }, snapToItemAlign: { classPropertyName: "snapToItemAlign", publicName: "snapToItemAlign", isSignal: true, isRequired: false, transformFunction: null }, snappingDistance: { classPropertyName: "snappingDistance", publicName: "snappingDistance", isSignal: true, isRequired: false, transformFunction: null }, animationParams: { classPropertyName: "animationParams", publicName: "animationParams", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "cdkScrollable", first: true, predicate: ["scrollViewport"], descendants: true, read: CdkScrollable }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
5123
5128
  }
5124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollView, decorators: [{
5129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollView, decorators: [{
5125
5130
  type: Component,
5126
5131
  args: [{
5127
5132
  selector: 'ng-scroll-view',
@@ -5143,26 +5148,26 @@ const DEFAULT_THICKNESS = 6, DEFAULT_SIZE = 6, PX = 'px', WIDTH = 'width', HEIGH
5143
5148
  * @email djonnyx@gmail.com
5144
5149
  */
5145
5150
  class NgScrollBarComponent extends NgScrollView {
5146
- _defaultRenderer = viewChild('defaultRenderer', ...(ngDevMode ? [{ debugName: "_defaultRenderer" }] : /* istanbul ignore next */ []));
5151
+ _defaultRenderer = viewChild('defaultRenderer', ...(ngDevMode ? [{ debugName: "_defaultRenderer" }] : []));
5147
5152
  _scrollBarService = inject(NgScrollBarService);
5148
5153
  _apiService = inject(NgScrollBarPublicService);
5149
- loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
5154
+ loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
5150
5155
  onDrag = output();
5151
5156
  onDragEnd = output();
5152
- thumbGradientPositions = input([0, 0], ...(ngDevMode ? [{ debugName: "thumbGradientPositions" }] : /* istanbul ignore next */ []));
5153
- size = input(DEFAULT_SIZE, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
5154
- thickness = input(DEFAULT_THICKNESS, ...(ngDevMode ? [{ debugName: "thickness" }] : /* istanbul ignore next */ []));
5155
- scrollbarMinSize = input(0, ...(ngDevMode ? [{ debugName: "scrollbarMinSize" }] : /* istanbul ignore next */ []));
5156
- prepared = input(false, ...(ngDevMode ? [{ debugName: "prepared" }] : /* istanbul ignore next */ []));
5157
- langTextDir = input(DEFAULT_LANG_TEXT_DIR, ...(ngDevMode ? [{ debugName: "langTextDir" }] : /* istanbul ignore next */ []));
5158
- interactive = input(DEFAULT_SCROLLBAR_INTERACTIVE, ...(ngDevMode ? [{ debugName: "interactive" }] : /* istanbul ignore next */ []));
5159
- overlapping = input(DEFAULT_OVERLAPPING_SCROLLBAR, ...(ngDevMode ? [{ debugName: "overlapping" }] : /* istanbul ignore next */ []));
5160
- show = input(false, ...(ngDevMode ? [{ debugName: "show" }] : /* istanbul ignore next */ []));
5161
- params = input({}, ...(ngDevMode ? [{ debugName: "params" }] : /* istanbul ignore next */ []));
5162
- renderer = input(null, ...(ngDevMode ? [{ debugName: "renderer" }] : /* istanbul ignore next */ []));
5163
- thumbRenderer = signal(this._defaultRenderer() ?? null, ...(ngDevMode ? [{ debugName: "thumbRenderer" }] : /* istanbul ignore next */ []));
5164
- hoverState = signal(false, ...(ngDevMode ? [{ debugName: "hoverState" }] : /* istanbul ignore next */ []));
5165
- pressedState = signal(false, ...(ngDevMode ? [{ debugName: "pressedState" }] : /* istanbul ignore next */ []));
5157
+ thumbGradientPositions = input([0, 0], ...(ngDevMode ? [{ debugName: "thumbGradientPositions" }] : []));
5158
+ size = input(DEFAULT_SIZE, ...(ngDevMode ? [{ debugName: "size" }] : []));
5159
+ thickness = input(DEFAULT_THICKNESS, ...(ngDevMode ? [{ debugName: "thickness" }] : []));
5160
+ scrollbarMinSize = input(0, ...(ngDevMode ? [{ debugName: "scrollbarMinSize" }] : []));
5161
+ prepared = input(false, ...(ngDevMode ? [{ debugName: "prepared" }] : []));
5162
+ langTextDir = input(DEFAULT_LANG_TEXT_DIR, ...(ngDevMode ? [{ debugName: "langTextDir" }] : []));
5163
+ interactive = input(DEFAULT_SCROLLBAR_INTERACTIVE, ...(ngDevMode ? [{ debugName: "interactive" }] : []));
5164
+ overlapping = input(DEFAULT_OVERLAPPING_SCROLLBAR, ...(ngDevMode ? [{ debugName: "overlapping" }] : []));
5165
+ show = input(false, ...(ngDevMode ? [{ debugName: "show" }] : []));
5166
+ params = input({}, ...(ngDevMode ? [{ debugName: "params" }] : []));
5167
+ renderer = input(null, ...(ngDevMode ? [{ debugName: "renderer" }] : []));
5168
+ thumbRenderer = signal(this._defaultRenderer() ?? null, ...(ngDevMode ? [{ debugName: "thumbRenderer" }] : []));
5169
+ hoverState = signal(false, ...(ngDevMode ? [{ debugName: "hoverState" }] : []));
5170
+ pressedState = signal(false, ...(ngDevMode ? [{ debugName: "pressedState" }] : []));
5166
5171
  templateContext;
5167
5172
  styles;
5168
5173
  thumbWidth;
@@ -5181,7 +5186,7 @@ class NgScrollBarComponent extends NgScrollView {
5181
5186
  params: this.params() ?? {},
5182
5187
  };
5183
5188
  return context;
5184
- }, ...(ngDevMode ? [{ debugName: "templateContext" }] : /* istanbul ignore next */ []));
5189
+ }, ...(ngDevMode ? [{ debugName: "templateContext" }] : []));
5185
5190
  const $renderer = toObservable(this.renderer).pipe(startWith(null)), $defaultRenderer = toObservable(this._defaultRenderer);
5186
5191
  combineLatest([$renderer, $defaultRenderer]).pipe(takeUntilDestroyed(), switchMap$1(([renderer, defaultRenderer]) => {
5187
5192
  return of((renderer ?? defaultRenderer) ?? null);
@@ -5196,10 +5201,10 @@ class NgScrollBarComponent extends NgScrollView {
5196
5201
  })).subscribe();
5197
5202
  this.thumbWidth = computed(() => {
5198
5203
  return this.isVertical() ? this.thickness() : this.size();
5199
- }, ...(ngDevMode ? [{ debugName: "thumbWidth" }] : /* istanbul ignore next */ []));
5204
+ }, ...(ngDevMode ? [{ debugName: "thumbWidth" }] : []));
5200
5205
  this.thumbHeight = computed(() => {
5201
5206
  return this.isVertical() ? this.size() : this.thickness();
5202
- }, ...(ngDevMode ? [{ debugName: "thumbHeight" }] : /* istanbul ignore next */ []));
5207
+ }, ...(ngDevMode ? [{ debugName: "thumbHeight" }] : []));
5203
5208
  const $wheel = this.$wheel;
5204
5209
  $wheel.pipe(takeUntilDestroyed(), debounceTime(100), tap(() => {
5205
5210
  const event = this.createDragEvent(true);
@@ -5245,7 +5250,7 @@ class NgScrollBarComponent extends NgScrollView {
5245
5250
  [sizePropName]: `${show ? this.thickness() : 0}${PX}`,
5246
5251
  [OPACITY]: show ? OPACITY_1 : OPACITY_0, [TRANSITION]: show ? TRANSITION_FADE_IN : NONE,
5247
5252
  };
5248
- }, ...(ngDevMode ? [{ debugName: "styles" }] : /* istanbul ignore next */ []));
5253
+ }, ...(ngDevMode ? [{ debugName: "styles" }] : []));
5249
5254
  effect(() => {
5250
5255
  const el = this._elementRef.nativeElement;
5251
5256
  if (!!el) {
@@ -5271,13 +5276,13 @@ class NgScrollBarComponent extends NgScrollView {
5271
5276
  })).subscribe();
5272
5277
  }
5273
5278
  createDragEvent(userAction) {
5274
- const isVertical = this.isVertical(), scrollSize = isVertical ? this.scrollHeight : this.scrollWidth, scrollContent = this.scrollContent()?.nativeElement, scrollViewport = this.scrollViewport()?.nativeElement;
5279
+ const isVertical = this.isVertical(), scrollSize = isVertical ? this.scrollHeight : this.scrollWidth, scrollPosition = isVertical ? this.scrollTop : this.scrollLeft, startOffset = this.startOffset(), endOffset = this.endOffset(), scrollContent = this.scrollContent()?.nativeElement, scrollViewport = this.scrollViewport()?.nativeElement;
5275
5280
  if (!!scrollViewport && !!scrollContent) {
5276
- const contentSize = isVertical ? scrollContent.offsetHeight : scrollContent.offsetWidth, viewportSize = isVertical ? scrollViewport.offsetHeight : scrollViewport.offsetWidth;
5281
+ const contentSize = isVertical ? scrollContent.offsetHeight : scrollContent.offsetWidth, viewportSize = isVertical ? scrollViewport.offsetHeight : scrollViewport.offsetWidth, offsetSize = (scrollSize !== 0 ? (startOffset / scrollSize) : 0), positionSize = (scrollSize !== 0 ? (scrollPosition / scrollSize) : 0), maxSize = 1 - offsetSize, pos = (positionSize - offsetSize);
5277
5282
  const event = {
5278
- position: scrollSize !== 0 ? ((isVertical ? this._y : this._x) / scrollSize) : 0,
5279
- min: scrollSize !== 0 ? (this.startOffset() / scrollSize) : 0,
5280
- max: scrollSize !== 0 ? ((viewportSize - this.endOffset() - contentSize) / scrollSize) : 0,
5283
+ position: pos / maxSize,
5284
+ min: scrollSize !== 0 ? (startOffset / scrollSize) : 0,
5285
+ max: scrollSize !== 0 ? ((viewportSize - endOffset - contentSize) / scrollSize) : 0,
5281
5286
  animation: !this._isMoving,
5282
5287
  userAction,
5283
5288
  };
@@ -5298,8 +5303,8 @@ class NgScrollBarComponent extends NgScrollView {
5298
5303
  click(event) {
5299
5304
  this._scrollBarService.click(event);
5300
5305
  }
5301
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5302
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.16", type: NgScrollBarComponent, isStandalone: false, selector: "ng-scroll-bar", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, thumbGradientPositions: { classPropertyName: "thumbGradientPositions", publicName: "thumbGradientPositions", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, thickness: { classPropertyName: "thickness", publicName: "thickness", isSignal: true, isRequired: false, transformFunction: null }, scrollbarMinSize: { classPropertyName: "scrollbarMinSize", publicName: "scrollbarMinSize", isSignal: true, isRequired: false, transformFunction: null }, prepared: { classPropertyName: "prepared", publicName: "prepared", isSignal: true, isRequired: false, transformFunction: null }, langTextDir: { classPropertyName: "langTextDir", publicName: "langTextDir", isSignal: true, isRequired: false, transformFunction: null }, interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null }, overlapping: { classPropertyName: "overlapping", publicName: "overlapping", isSignal: true, isRequired: false, transformFunction: null }, show: { classPropertyName: "show", publicName: "show", isSignal: true, isRequired: false, transformFunction: null }, params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null }, renderer: { classPropertyName: "renderer", publicName: "renderer", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDrag: "onDrag", onDragEnd: "onDragEnd" }, providers: [
5306
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5307
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: NgScrollBarComponent, isStandalone: false, selector: "ng-scroll-bar", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, thumbGradientPositions: { classPropertyName: "thumbGradientPositions", publicName: "thumbGradientPositions", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, thickness: { classPropertyName: "thickness", publicName: "thickness", isSignal: true, isRequired: false, transformFunction: null }, scrollbarMinSize: { classPropertyName: "scrollbarMinSize", publicName: "scrollbarMinSize", isSignal: true, isRequired: false, transformFunction: null }, prepared: { classPropertyName: "prepared", publicName: "prepared", isSignal: true, isRequired: false, transformFunction: null }, langTextDir: { classPropertyName: "langTextDir", publicName: "langTextDir", isSignal: true, isRequired: false, transformFunction: null }, interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null }, overlapping: { classPropertyName: "overlapping", publicName: "overlapping", isSignal: true, isRequired: false, transformFunction: null }, show: { classPropertyName: "show", publicName: "show", isSignal: true, isRequired: false, transformFunction: null }, params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null }, renderer: { classPropertyName: "renderer", publicName: "renderer", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDrag: "onDrag", onDragEnd: "onDragEnd" }, providers: [
5303
5308
  { provide: SCROLL_VIEW_INVERSION, useValue: true },
5304
5309
  { provide: SCROLL_VIEW_NORMALIZE_VALUE_FROM_ZERO, useValue: false },
5305
5310
  { provide: SCROLL_VIEW_OVERSCROLL_ENABLED, useValue: false },
@@ -5307,7 +5312,7 @@ class NgScrollBarComponent extends NgScrollView {
5307
5312
  NgScrollBarPublicService,
5308
5313
  ], viewQueries: [{ propertyName: "_defaultRenderer", first: true, predicate: ["defaultRenderer"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let grab = grabbing();\r\n<div #scrollViewport class=\"track\" part=\"scrollbar-track\" [ngStyle]=\"styles()\" [ngClass]=\"{grabbing: grab}\">\r\n <div #scrollContent class=\"thumb\" part=\"scrollbar-thumb\" [class.horizontal]=\"!isVertical()\"\r\n (pointerdown)=\"click($event)\">\r\n <ng-container [ngTemplateOutlet]=\"thumbRenderer()\" [ngTemplateOutletContext]=\"templateContext()\" />\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultRenderer let-api=\"api\" let-width=\"width\" let-height=\"height\" let-fillPositions=\"fillPositions\"\r\n let-params=\"params\">\r\n <div class=\"shape\" part=\"scrollbar-thumb__shape\" [style.width.px]=\"width\" [style.height.px]=\"height\"></div>\r\n</ng-template>", styles: [":host{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;width:100%;height:100%}.track{position:relative;overflow:hidden;width:100%;height:100%;cursor:grab}.track.grabbing{cursor:grabbing}.track .thumb{display:block;position:absolute;list-style:none;padding:0;margin:0;overflow:hidden}.track .thumb.prepared{overflow:hidden}.track .thumb.horizontal{top:0}.track .thumb .shape{box-sizing:border-box;pointer-events:none;background-color:#818181;border-radius:0;overflow:hidden}.track.grabbing .thumb{cursor:grabbing}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
5309
5314
  }
5310
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollBarComponent, decorators: [{
5315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollBarComponent, decorators: [{
5311
5316
  type: Component,
5312
5317
  args: [{ selector: 'ng-scroll-bar', providers: [
5313
5318
  { provide: SCROLL_VIEW_INVERSION, useValue: true },
@@ -5328,8 +5333,8 @@ const RIGHT = 'right', DIR = 'dir';
5328
5333
  * @email djonnyx@gmail.com
5329
5334
  */
5330
5335
  class LocaleSensitiveDirective {
5331
- langTextDir = input(TextDirections.LTR, ...(ngDevMode ? [{ debugName: "langTextDir" }] : /* istanbul ignore next */ []));
5332
- listDir = input(ScrollerDirection$1.VERTICAL, ...(ngDevMode ? [{ debugName: "listDir" }] : /* istanbul ignore next */ []));
5336
+ langTextDir = input(TextDirections.LTR, ...(ngDevMode ? [{ debugName: "langTextDir" }] : []));
5337
+ listDir = input(ScrollerDirection$1.VERTICAL, ...(ngDevMode ? [{ debugName: "listDir" }] : []));
5333
5338
  _elementRef = inject((ElementRef));
5334
5339
  constructor() {
5335
5340
  const $langTextDir = toObservable(this.langTextDir), $listDir = toObservable(this.listDir);
@@ -5347,10 +5352,10 @@ class LocaleSensitiveDirective {
5347
5352
  }
5348
5353
  })).subscribe();
5349
5354
  }
5350
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: LocaleSensitiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5351
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: LocaleSensitiveDirective, isStandalone: false, selector: "[localeSensitive]", inputs: { langTextDir: { classPropertyName: "langTextDir", publicName: "langTextDir", isSignal: true, isRequired: false, transformFunction: null }, listDir: { classPropertyName: "listDir", publicName: "listDir", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
5355
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LocaleSensitiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5356
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: LocaleSensitiveDirective, isStandalone: false, selector: "[localeSensitive]", inputs: { langTextDir: { classPropertyName: "langTextDir", publicName: "langTextDir", isSignal: true, isRequired: false, transformFunction: null }, listDir: { classPropertyName: "listDir", publicName: "listDir", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
5352
5357
  }
5353
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: LocaleSensitiveDirective, decorators: [{
5358
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LocaleSensitiveDirective, decorators: [{
5354
5359
  type: Directive,
5355
5360
  args: [{
5356
5361
  selector: '[localeSensitive]',
@@ -5370,30 +5375,30 @@ const SCROLL_EVENT = new Event(SCROLLER_SCROLL);
5370
5375
  */
5371
5376
  class NgScrollerComponent extends NgScrollView {
5372
5377
  scrollBar;
5373
- filter = viewChild('filter', ...(ngDevMode ? [{ debugName: "filter" }] : /* istanbul ignore next */ []));
5378
+ filter = viewChild('filter', ...(ngDevMode ? [{ debugName: "filter" }] : []));
5374
5379
  onScrollbarVisible = output();
5375
- scrollbarEnabled = input(DEFAULT_SCROLLBAR_ENABLED, ...(ngDevMode ? [{ debugName: "scrollbarEnabled" }] : /* istanbul ignore next */ []));
5376
- scrollbarInteractive = input(DEFAULT_SCROLLBAR_INTERACTIVE, ...(ngDevMode ? [{ debugName: "scrollbarInteractive" }] : /* istanbul ignore next */ []));
5377
- focusedElement = input(null, ...(ngDevMode ? [{ debugName: "focusedElement" }] : /* istanbul ignore next */ []));
5378
- overlappingScrollbar = input(DEFAULT_OVERLAPPING_SCROLLBAR, ...(ngDevMode ? [{ debugName: "overlappingScrollbar" }] : /* istanbul ignore next */ []));
5379
- content = input(...(ngDevMode ? [undefined, { debugName: "content" }] : /* istanbul ignore next */ []));
5380
- loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
5381
- classes = input({}, ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
5382
- scrollbarMinSize = input(DEFAULT_SCROLLBAR_MIN_SIZE, ...(ngDevMode ? [{ debugName: "scrollbarMinSize" }] : /* istanbul ignore next */ []));
5383
- scrollbarThickness = input(DEFAULT_SCROLLBAR_THICKNESS, ...(ngDevMode ? [{ debugName: "scrollbarThickness" }] : /* istanbul ignore next */ []));
5384
- scrollbarThumbRenderer = input(null, ...(ngDevMode ? [{ debugName: "scrollbarThumbRenderer" }] : /* istanbul ignore next */ []));
5385
- scrollbarThumbParams = input(null, ...(ngDevMode ? [{ debugName: "scrollbarThumbParams" }] : /* istanbul ignore next */ []));
5386
- motionBlur = input(DEFAULT_MOTION_BLUR, ...(ngDevMode ? [{ debugName: "motionBlur" }] : /* istanbul ignore next */ []));
5387
- maxMotionBlur = input(DEFAULT_MAX_MOTION_BLUR, ...(ngDevMode ? [{ debugName: "maxMotionBlur" }] : /* istanbul ignore next */ []));
5388
- motionBlurEnabled = input(DEFAULT_MOTION_BLUR_ENABLED, ...(ngDevMode ? [{ debugName: "motionBlurEnabled" }] : /* istanbul ignore next */ []));
5380
+ scrollbarEnabled = input(DEFAULT_SCROLLBAR_ENABLED, ...(ngDevMode ? [{ debugName: "scrollbarEnabled" }] : []));
5381
+ scrollbarInteractive = input(DEFAULT_SCROLLBAR_INTERACTIVE, ...(ngDevMode ? [{ debugName: "scrollbarInteractive" }] : []));
5382
+ focusedElement = input(null, ...(ngDevMode ? [{ debugName: "focusedElement" }] : []));
5383
+ overlappingScrollbar = input(DEFAULT_OVERLAPPING_SCROLLBAR, ...(ngDevMode ? [{ debugName: "overlappingScrollbar" }] : []));
5384
+ content = input(...(ngDevMode ? [undefined, { debugName: "content" }] : []));
5385
+ loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
5386
+ classes = input({}, ...(ngDevMode ? [{ debugName: "classes" }] : []));
5387
+ scrollbarMinSize = input(DEFAULT_SCROLLBAR_MIN_SIZE, ...(ngDevMode ? [{ debugName: "scrollbarMinSize" }] : []));
5388
+ scrollbarThickness = input(DEFAULT_SCROLLBAR_THICKNESS, ...(ngDevMode ? [{ debugName: "scrollbarThickness" }] : []));
5389
+ scrollbarThumbRenderer = input(null, ...(ngDevMode ? [{ debugName: "scrollbarThumbRenderer" }] : []));
5390
+ scrollbarThumbParams = input(null, ...(ngDevMode ? [{ debugName: "scrollbarThumbParams" }] : []));
5391
+ motionBlur = input(DEFAULT_MOTION_BLUR, ...(ngDevMode ? [{ debugName: "motionBlur" }] : []));
5392
+ maxMotionBlur = input(DEFAULT_MAX_MOTION_BLUR, ...(ngDevMode ? [{ debugName: "maxMotionBlur" }] : []));
5393
+ motionBlurEnabled = input(DEFAULT_MOTION_BLUR_ENABLED, ...(ngDevMode ? [{ debugName: "motionBlurEnabled" }] : []));
5389
5394
  actualClasses;
5390
5395
  containerClasses;
5391
- thumbGradientPositions = signal([0, 0], ...(ngDevMode ? [{ debugName: "thumbGradientPositions" }] : /* istanbul ignore next */ []));
5392
- thumbSize = signal(0, ...(ngDevMode ? [{ debugName: "thumbSize" }] : /* istanbul ignore next */ []));
5393
- scrollbarShow = signal(false, ...(ngDevMode ? [{ debugName: "scrollbarShow" }] : /* istanbul ignore next */ []));
5394
- preparedSignal = signal(false, ...(ngDevMode ? [{ debugName: "preparedSignal" }] : /* istanbul ignore next */ []));
5395
- langTextDir = signal(TextDirections.LTR, ...(ngDevMode ? [{ debugName: "langTextDir" }] : /* istanbul ignore next */ []));
5396
- listStyles = signal({ perspectiveOrigin: 'center' }, ...(ngDevMode ? [{ debugName: "listStyles" }] : /* istanbul ignore next */ []));
5396
+ thumbGradientPositions = signal([0, 0], ...(ngDevMode ? [{ debugName: "thumbGradientPositions" }] : []));
5397
+ thumbSize = signal(0, ...(ngDevMode ? [{ debugName: "thumbSize" }] : []));
5398
+ scrollbarShow = signal(false, ...(ngDevMode ? [{ debugName: "scrollbarShow" }] : []));
5399
+ preparedSignal = signal(false, ...(ngDevMode ? [{ debugName: "preparedSignal" }] : []));
5400
+ langTextDir = signal(TextDirections.LTR, ...(ngDevMode ? [{ debugName: "langTextDir" }] : []));
5401
+ listStyles = signal({ perspectiveOrigin: 'center' }, ...(ngDevMode ? [{ debugName: "listStyles" }] : []));
5397
5402
  _scrollBox = new ScrollBox$1();
5398
5403
  get host() {
5399
5404
  return this.scrollViewport()?.nativeElement;
@@ -5447,7 +5452,7 @@ class NgScrollerComponent extends NgScrollView {
5447
5452
  }
5448
5453
  }
5449
5454
  get startLayoutOffset() { return this._startLayoutOffset; }
5450
- viewInitialized = signal(false, ...(ngDevMode ? [{ debugName: "viewInitialized" }] : /* istanbul ignore next */ []));
5455
+ viewInitialized = signal(false, ...(ngDevMode ? [{ debugName: "viewInitialized" }] : []));
5451
5456
  _isScrollbarUserAction = false;
5452
5457
  get isScrollbarUserAction() {
5453
5458
  return this._isScrollbarUserAction;
@@ -5494,11 +5499,11 @@ class NgScrollerComponent extends NgScrollView {
5494
5499
  this.actualClasses = computed(() => {
5495
5500
  const classes = this.classes(), direction = this.direction(), filtered = this.motionBlurEnabled();
5496
5501
  return { ...classes, [direction]: true, grabbing: this.grabbing(), filtered };
5497
- }, ...(ngDevMode ? [{ debugName: "actualClasses" }] : /* istanbul ignore next */ []));
5502
+ }, ...(ngDevMode ? [{ debugName: "actualClasses" }] : []));
5498
5503
  this.containerClasses = computed(() => {
5499
5504
  const { width: contentWidth, height: contentHeight } = this.contentBounds(), { width, height } = this.viewportBounds(), overlappingScrollbar = this.overlappingScrollbar(), isVertical = this.isVertical(), viewportSize = isVertical ? height : width, contentSize = isVertical ? contentHeight : contentWidth;
5500
5505
  return { [this.direction()]: true, grabbing: this.grabbing(), enabled: this.scrollbarEnabled(), scrollable: contentSize > viewportSize, overlapping: overlappingScrollbar };
5501
- }, ...(ngDevMode ? [{ debugName: "containerClasses" }] : /* istanbul ignore next */ []));
5506
+ }, ...(ngDevMode ? [{ debugName: "containerClasses" }] : []));
5502
5507
  effect(() => {
5503
5508
  const viewInitialized = this.viewInitialized();
5504
5509
  if (viewInitialized) {
@@ -5699,14 +5704,14 @@ class NgScrollerComponent extends NgScrollView {
5699
5704
  }
5700
5705
  return false;
5701
5706
  }
5702
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5703
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: NgScrollerComponent, isStandalone: false, selector: "ng-scroller", inputs: { scrollbarEnabled: { classPropertyName: "scrollbarEnabled", publicName: "scrollbarEnabled", isSignal: true, isRequired: false, transformFunction: null }, scrollbarInteractive: { classPropertyName: "scrollbarInteractive", publicName: "scrollbarInteractive", isSignal: true, isRequired: false, transformFunction: null }, focusedElement: { classPropertyName: "focusedElement", publicName: "focusedElement", isSignal: true, isRequired: false, transformFunction: null }, overlappingScrollbar: { classPropertyName: "overlappingScrollbar", publicName: "overlappingScrollbar", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, classes: { classPropertyName: "classes", publicName: "classes", isSignal: true, isRequired: false, transformFunction: null }, scrollbarMinSize: { classPropertyName: "scrollbarMinSize", publicName: "scrollbarMinSize", isSignal: true, isRequired: false, transformFunction: null }, scrollbarThickness: { classPropertyName: "scrollbarThickness", publicName: "scrollbarThickness", isSignal: true, isRequired: false, transformFunction: null }, scrollbarThumbRenderer: { classPropertyName: "scrollbarThumbRenderer", publicName: "scrollbarThumbRenderer", isSignal: true, isRequired: false, transformFunction: null }, scrollbarThumbParams: { classPropertyName: "scrollbarThumbParams", publicName: "scrollbarThumbParams", isSignal: true, isRequired: false, transformFunction: null }, motionBlur: { classPropertyName: "motionBlur", publicName: "motionBlur", isSignal: true, isRequired: false, transformFunction: null }, maxMotionBlur: { classPropertyName: "maxMotionBlur", publicName: "maxMotionBlur", isSignal: true, isRequired: false, transformFunction: null }, motionBlurEnabled: { classPropertyName: "motionBlurEnabled", publicName: "motionBlurEnabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onScrollbarVisible: "onScrollbarVisible" }, providers: [
5707
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5708
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: NgScrollerComponent, isStandalone: false, selector: "ng-scroller", inputs: { scrollbarEnabled: { classPropertyName: "scrollbarEnabled", publicName: "scrollbarEnabled", isSignal: true, isRequired: false, transformFunction: null }, scrollbarInteractive: { classPropertyName: "scrollbarInteractive", publicName: "scrollbarInteractive", isSignal: true, isRequired: false, transformFunction: null }, focusedElement: { classPropertyName: "focusedElement", publicName: "focusedElement", isSignal: true, isRequired: false, transformFunction: null }, overlappingScrollbar: { classPropertyName: "overlappingScrollbar", publicName: "overlappingScrollbar", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, classes: { classPropertyName: "classes", publicName: "classes", isSignal: true, isRequired: false, transformFunction: null }, scrollbarMinSize: { classPropertyName: "scrollbarMinSize", publicName: "scrollbarMinSize", isSignal: true, isRequired: false, transformFunction: null }, scrollbarThickness: { classPropertyName: "scrollbarThickness", publicName: "scrollbarThickness", isSignal: true, isRequired: false, transformFunction: null }, scrollbarThumbRenderer: { classPropertyName: "scrollbarThumbRenderer", publicName: "scrollbarThumbRenderer", isSignal: true, isRequired: false, transformFunction: null }, scrollbarThumbParams: { classPropertyName: "scrollbarThumbParams", publicName: "scrollbarThumbParams", isSignal: true, isRequired: false, transformFunction: null }, motionBlur: { classPropertyName: "motionBlur", publicName: "motionBlur", isSignal: true, isRequired: false, transformFunction: null }, maxMotionBlur: { classPropertyName: "maxMotionBlur", publicName: "maxMotionBlur", isSignal: true, isRequired: false, transformFunction: null }, motionBlurEnabled: { classPropertyName: "motionBlurEnabled", publicName: "motionBlurEnabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onScrollbarVisible: "onScrollbarVisible" }, providers: [
5704
5709
  { provide: SCROLL_VIEW_INVERSION, useValue: false },
5705
5710
  { provide: SCROLL_VIEW_NORMALIZE_VALUE_FROM_ZERO, useValue: true },
5706
5711
  { provide: SCROLL_VIEW_OVERSCROLL_ENABLED, useValue: true },
5707
5712
  ], viewQueries: [{ propertyName: "filter", first: true, predicate: ["filter"], descendants: true, isSignal: true }, { propertyName: "scrollBar", first: true, predicate: ["scrollBar"], descendants: true, read: NgScrollBarComponent }], usesInheritance: true, ngImport: i0, template: "@let filtered = motionBlurEnabled();\r\n<div localeSensitive [langTextDir]=\"langTextDir()\" [listDir]=\"direction()\" class=\"ngvl__container\"\r\n [ngClass]=\"containerClasses()\">\r\n <svg part=\"viewport\" width=\"100%\" height=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <filter [id]=\"_filterId\">\r\n <feGaussianBlur #filter></feGaussianBlur>\r\n </filter>\r\n <foreignObject xmlns=\"http://www.w3.org/1999/xhtml\" width=\"100%\" height=\"100%\" class=\"ngvl__viewport\">\r\n <div class=\"ngvl__scroller-wrapper\" [class.filtered]=\"filtered\" [style.filter]=\"filtered ? _filter : 'unset'\">\r\n <div cdkScrollable #scrollViewport part=\"scroller\" class=\"ngvl__scroller\">\r\n <div #scrollContent [attr.aria-orientation]=\"direction()\"\r\n [attr.aria-activedescendant]=\"focusedElement()\" tabindex=\"0\" part=\"list\" class=\"ngvl__list\"\r\n [ngClass]=\"actualClasses()\" [ngStyle]=\"listStyles()\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n </foreignObject>\r\n </svg>\r\n @if (scrollbarEnabled()) {\r\n @let prepared = preparedSignal();\r\n <ng-scroll-bar #scrollBar [direction]=\"direction()\" [size]=\"thumbSize()\" [renderer]=\"scrollbarThumbRenderer()\"\r\n [thickness]=\"scrollbarThickness()\" [params]=\"scrollbarThumbParams()\" [loading]=\"loading()\" [overlapping]=\"overlappingScrollbar()\"\r\n [thumbGradientPositions]=\"thumbGradientPositions()\" [prepared]=\"prepared\" [interactive]=\"scrollbarInteractive()\"\r\n [show]=\"scrollbarShow() && scrollbarEnabled() && prepared\" [startOffset]=\"startOffset()\" [langTextDir]=\"langTextDir()\"\r\n [endOffset]=\"endOffset()\" [overscrollEnabled]=\"overscrollEnabled()\" [scrollBehavior]=\"scrollBehavior()\"\r\n [scrollbarMinSize]=\"scrollbarMinSize()\" (onDrag)=\"onScrollBarDragHandler($event)\"\r\n (onDragEnd)=\"onScrollBarDragEndHandler($event)\"></ng-scroll-bar>\r\n }\r\n</div>", styles: [":host{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.ngvl__container{position:relative;overflow:hidden;display:grid;width:100%;height:100%;cursor:grab}.ngvl__container.overlapping{position:relative;display:block}.ngvl__container.grabbing{cursor:grabbing}.ngvl__container.horizontal:not(.overlapping){grid-template-rows:1fr 0}.ngvl__container.horizontal{transition:grid-template-rows .1s ease-out}.ngvl__container.horizontal.scrollable.enabled:not(.overlapping){grid-template-rows:1fr auto}.ngvl__container.horizontal .ngvl__list{display:inline-flex}.ngvl__container.horizontal .ngvl__scroller-wrapper.filtered,.ngvl__container.horizontal .ngvl__scroller{overflow:unset}.ngvl__container.vertical:not(.overlapping){grid-template-columns:1fr 0}.ngvl__container.vertical{transition:grid-template-columns .1s ease-out}.ngvl__container.vertical.scrollable.enabled:not(.overlapping){grid-template-columns:1fr auto}.ngvl__container.vertical .ngvl__scroller-wrapper.filtered,.ngvl__container.vertical .ngvl__scroller{overflow:unset}.ngvl__container .ngvl__scroller-wrapper,.ngvl__container .ngvl__scroller{display:block;position:relative;overflow:hidden;width:100%;height:100%}.ngvl__container .ngvl__list{position:absolute;list-style:none;padding:0;margin:0;width:100%;height:100%;opacity:0}.ngvl__container .ngvl__list.prepared{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: NgScrollBarComponent, selector: "ng-scroll-bar", inputs: ["loading", "thumbGradientPositions", "size", "thickness", "scrollbarMinSize", "prepared", "langTextDir", "interactive", "overlapping", "show", "params", "renderer"], outputs: ["onDrag", "onDragEnd"] }, { kind: "directive", type: LocaleSensitiveDirective, selector: "[localeSensitive]", inputs: ["langTextDir", "listDir"] }, { kind: "directive", type: i4.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }] });
5708
5713
  }
5709
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollerComponent, decorators: [{
5714
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollerComponent, decorators: [{
5710
5715
  type: Component,
5711
5716
  args: [{ selector: 'ng-scroller', providers: [
5712
5717
  { provide: SCROLL_VIEW_INVERSION, useValue: false },
@@ -5996,10 +6001,10 @@ class NgPrerenderVirtualListItemComponent extends NgVirtualListItemComponent {
5996
6001
  styles.visibility = VISIBILITY_HIDDEN;
5997
6002
  }
5998
6003
  }
5999
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderVirtualListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
6000
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: NgPrerenderVirtualListItemComponent, isStandalone: false, selector: "ng-prerender-virtual-list-item", host: { attributes: { "role": "listitem" }, classAttribute: "ngvl__item" }, usesInheritance: true, ngImport: i0, template: "@let renderer = itemRenderer();\r\n@let class = classes();\r\n<div #item class=\"ngvl-item\" [ngClass]=\"class\" [part]=\"part()\" [attr.ngvl-index]=\"index()\" [attr.ngvl-visibility]=\"visibility\" tabindex=\"-1\">\r\n @if (_blendColor) {\r\n <div class=\"ngvl-item__blend-color\" [style.--blend-color]=\"_blendColor\"></div>\r\n }\r\n <div #container virtualClick [part]=\"fxPart()\" [maxClickDistance]=\"maxClickDistance()\" class=\"ngvl-item__container\"\r\n [ngClass]=\"class\" (onVirtualClick)=\"onClickHandler()\">\r\n @if (renderer) {\r\n <ng-container [ngTemplateOutlet]=\"renderer\" [ngTemplateOutletContext]=\"templateContext()\" />\r\n }\r\n </div>\r\n</div>", styles: [":host{display:block;position:absolute;left:0;top:0;box-sizing:border-box;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-moz-user-drag:none;text-rendering:optimizeSpeed;image-rendering:auto}.ngvl-item{position:relative;margin:0;padding:0;overflow:hidden;outline:none;width:inherit;height:inherit;box-sizing:border-box}.ngvl-item__blend-color{position:absolute;left:0;top:0;width:100%;height:100%;background-color:var(--blend-color);z-index:-1}.ngvl-item__container{margin:0;padding:0;width:100%;height:100%;box-sizing:border-box}\n", ":host{display:block;position:absolute!important;left:0;top:0;box-sizing:border-box;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-moz-user-drag:none;pointer-events:none;-webkit-user-select:none;user-select:none;text-rendering:optimizeSpeed;image-rendering:pixelated}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: VirtualClickDirective, selector: "[virtualClick]", inputs: ["maxClickDistance"], outputs: ["onVirtualClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6004
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderVirtualListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
6005
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: NgPrerenderVirtualListItemComponent, isStandalone: false, selector: "ng-prerender-virtual-list-item", host: { attributes: { "role": "listitem" }, classAttribute: "ngvl__item" }, usesInheritance: true, ngImport: i0, template: "@let renderer = itemRenderer();\r\n@let class = classes();\r\n<div #item class=\"ngvl-item\" [ngClass]=\"class\" [part]=\"part()\" [attr.ngvl-index]=\"index()\" [attr.ngvl-visibility]=\"visibility\" tabindex=\"-1\">\r\n @if (_blendColor) {\r\n <div class=\"ngvl-item__blend-color\" [style.--blend-color]=\"_blendColor\"></div>\r\n }\r\n <div #container virtualClick [part]=\"fxPart()\" [maxClickDistance]=\"maxClickDistance()\" class=\"ngvl-item__container\"\r\n [ngClass]=\"class\" (onVirtualClick)=\"onClickHandler()\">\r\n @if (renderer) {\r\n <ng-container [ngTemplateOutlet]=\"renderer\" [ngTemplateOutletContext]=\"templateContext()\" />\r\n }\r\n </div>\r\n</div>", styles: [":host{display:block;position:absolute;left:0;top:0;box-sizing:border-box;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-moz-user-drag:none;text-rendering:optimizeSpeed;image-rendering:auto}.ngvl-item{position:relative;margin:0;padding:0;overflow:hidden;outline:none;width:inherit;height:inherit;box-sizing:border-box}.ngvl-item__blend-color{position:absolute;left:0;top:0;width:100%;height:100%;background-color:var(--blend-color);z-index:-1}.ngvl-item__container{margin:0;padding:0;width:100%;height:100%;box-sizing:border-box}\n", ":host{display:block;position:absolute!important;left:0;top:0;box-sizing:border-box;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-moz-user-drag:none;pointer-events:none;-webkit-user-select:none;user-select:none;text-rendering:optimizeSpeed;image-rendering:pixelated}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: VirtualClickDirective, selector: "[virtualClick]", inputs: ["maxClickDistance"], outputs: ["onVirtualClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6001
6006
  }
6002
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderVirtualListItemComponent, decorators: [{
6007
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderVirtualListItemComponent, decorators: [{
6003
6008
  type: Component,
6004
6009
  args: [{ selector: 'ng-prerender-virtual-list-item', host: {
6005
6010
  'class': 'ngvl__item',
@@ -6017,13 +6022,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
6017
6022
  */
6018
6023
  class NgPrerenderScrollerComponent extends BaseScrollView {
6019
6024
  scrollBar;
6020
- langTextDir = signal(TextDirections.LTR, ...(ngDevMode ? [{ debugName: "langTextDir" }] : /* istanbul ignore next */ []));
6021
- scrollbarEnabled = input(DEFAULT_SCROLLBAR_ENABLED, ...(ngDevMode ? [{ debugName: "scrollbarEnabled" }] : /* istanbul ignore next */ []));
6022
- classes = input({}, ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
6025
+ langTextDir = signal(TextDirections.LTR, ...(ngDevMode ? [{ debugName: "langTextDir" }] : []));
6026
+ scrollbarEnabled = input(DEFAULT_SCROLLBAR_ENABLED, ...(ngDevMode ? [{ debugName: "scrollbarEnabled" }] : []));
6027
+ classes = input({}, ...(ngDevMode ? [{ debugName: "classes" }] : []));
6023
6028
  actualClasses;
6024
- containerClasses = signal({}, ...(ngDevMode ? [{ debugName: "containerClasses" }] : /* istanbul ignore next */ []));
6025
- thumbSize = signal(0, ...(ngDevMode ? [{ debugName: "thumbSize" }] : /* istanbul ignore next */ []));
6026
- scrollbarShow = signal(false, ...(ngDevMode ? [{ debugName: "scrollbarShow" }] : /* istanbul ignore next */ []));
6029
+ containerClasses = signal({}, ...(ngDevMode ? [{ debugName: "containerClasses" }] : []));
6030
+ thumbSize = signal(0, ...(ngDevMode ? [{ debugName: "thumbSize" }] : []));
6031
+ scrollbarShow = signal(false, ...(ngDevMode ? [{ debugName: "scrollbarShow" }] : []));
6027
6032
  set x(v) {
6028
6033
  if (v !== undefined && !Number.isNaN(v)) {
6029
6034
  this._x = this._actualX = v;
@@ -6058,7 +6063,7 @@ class NgPrerenderScrollerComponent extends BaseScrollView {
6058
6063
  this.actualClasses = computed(() => {
6059
6064
  const classes = this.classes(), direction = this.direction();
6060
6065
  return { ...classes, [direction]: true };
6061
- }, ...(ngDevMode ? [{ debugName: "actualClasses" }] : /* istanbul ignore next */ []));
6066
+ }, ...(ngDevMode ? [{ debugName: "actualClasses" }] : []));
6062
6067
  const $contentBounds = toObservable(this.contentBounds), $viewportBounds = toObservable(this.viewportBounds), $isVertical = toObservable(this.isVertical), $direction = toObservable(this.direction), $scrollbarEnabled = toObservable(this.scrollbarEnabled);
6063
6068
  combineLatest([$direction, $scrollbarEnabled, $isVertical, $contentBounds, $viewportBounds]).pipe(takeUntilDestroyed(), tap(([direction, scrollbarEnabled]) => {
6064
6069
  this.containerClasses.set({ [direction]: true, enabled: scrollbarEnabled, scrollable: scrollbarEnabled });
@@ -6095,14 +6100,14 @@ class NgPrerenderScrollerComponent extends BaseScrollView {
6095
6100
  updateScrollBar() {
6096
6101
  this._$updateScrollBar.next();
6097
6102
  }
6098
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderScrollerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6099
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.16", type: NgPrerenderScrollerComponent, isStandalone: false, selector: "ng-prerender-scroller", inputs: { scrollbarEnabled: { classPropertyName: "scrollbarEnabled", publicName: "scrollbarEnabled", isSignal: true, isRequired: false, transformFunction: null }, classes: { classPropertyName: "classes", publicName: "classes", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6103
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderScrollerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6104
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: NgPrerenderScrollerComponent, isStandalone: false, selector: "ng-prerender-scroller", inputs: { scrollbarEnabled: { classPropertyName: "scrollbarEnabled", publicName: "scrollbarEnabled", isSignal: true, isRequired: false, transformFunction: null }, classes: { classPropertyName: "classes", publicName: "classes", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6100
6105
  { provide: SCROLL_VIEW_INVERSION, useValue: false },
6101
6106
  { provide: SCROLL_VIEW_NORMALIZE_VALUE_FROM_ZERO, useValue: true },
6102
6107
  { provide: SCROLL_VIEW_OVERSCROLL_ENABLED, useValue: false },
6103
6108
  ], viewQueries: [{ propertyName: "scrollBar", first: true, predicate: ["scrollBar"], descendants: true, read: NgScrollBarComponent }], usesInheritance: true, ngImport: i0, template: "<div localeSensitive [langTextDir]=\"langTextDir()\" [listDir]=\"direction()\" class=\"ngvl__container\"\r\n [ngClass]=\"containerClasses()\">\r\n <div #scrollViewport part=\"scroller\" class=\"ngvl__scroller\">\r\n <div #scrollContent part=\"list\" class=\"ngvl__list\" [ngClass]=\"actualClasses()\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.ngvl__container{position:relative;overflow:hidden;display:grid;width:100%;height:100%;cursor:grab}.ngvl__container.overlapping{position:relative;display:block}.ngvl__container.grabbing{cursor:grabbing}.ngvl__container.horizontal:not(.overlapping){grid-template-rows:1fr 0}.ngvl__container.horizontal{transition:grid-template-rows .1s ease-out}.ngvl__container.horizontal.scrollable.enabled:not(.overlapping){grid-template-rows:1fr auto}.ngvl__container.horizontal .ngvl__list{display:inline-flex}.ngvl__container.horizontal .ngvl__scroller-wrapper.filtered,.ngvl__container.horizontal .ngvl__scroller{overflow:unset}.ngvl__container.vertical:not(.overlapping){grid-template-columns:1fr 0}.ngvl__container.vertical{transition:grid-template-columns .1s ease-out}.ngvl__container.vertical.scrollable.enabled:not(.overlapping){grid-template-columns:1fr auto}.ngvl__container.vertical .ngvl__scroller-wrapper.filtered,.ngvl__container.vertical .ngvl__scroller{overflow:unset}.ngvl__container .ngvl__scroller-wrapper,.ngvl__container .ngvl__scroller{display:block;position:relative;overflow:hidden;width:100%;height:100%}.ngvl__container .ngvl__list{position:absolute;list-style:none;padding:0;margin:0;width:100%;height:100%;opacity:0}.ngvl__container .ngvl__list.prepared{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: LocaleSensitiveDirective, selector: "[localeSensitive]", inputs: ["langTextDir", "listDir"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6104
6109
  }
6105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderScrollerComponent, decorators: [{
6110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderScrollerComponent, decorators: [{
6106
6111
  type: Component,
6107
6112
  args: [{ selector: 'ng-prerender-scroller', providers: [
6108
6113
  { provide: SCROLL_VIEW_INVERSION, useValue: false },
@@ -6124,21 +6129,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
6124
6129
  */
6125
6130
  class NgPrerenderList {
6126
6131
  _listContainerRef;
6127
- enabled = input(false, ...(ngDevMode ? [{ debugName: "enabled" }] : /* istanbul ignore next */ []));
6128
- direction = input(DEFAULT_DIRECTION, ...(ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []));
6129
- isVertical = input(true, ...(ngDevMode ? [{ debugName: "isVertical" }] : /* istanbul ignore next */ []));
6130
- scrollbarEnabled = input(DEFAULT_SCROLLBAR_ENABLED, ...(ngDevMode ? [{ debugName: "scrollbarEnabled" }] : /* istanbul ignore next */ []));
6131
- startOffset = input(0, ...(ngDevMode ? [{ debugName: "startOffset" }] : /* istanbul ignore next */ []));
6132
- endOffset = input(0, ...(ngDevMode ? [{ debugName: "endOffset" }] : /* istanbul ignore next */ []));
6133
- bounds = input.required(...(ngDevMode ? [{ debugName: "bounds" }] : /* istanbul ignore next */ []));
6134
- dynamic = input(DEFAULT_DYNAMIC_SIZE, ...(ngDevMode ? [{ debugName: "dynamic" }] : /* istanbul ignore next */ []));
6135
- itemSize = input(DEFAULT_ITEM_SIZE, ...(ngDevMode ? [{ debugName: "itemSize" }] : /* istanbul ignore next */ []));
6136
- trackBy = input(TRACK_BY_PROPERTY_NAME, ...(ngDevMode ? [{ debugName: "trackBy" }] : /* istanbul ignore next */ []));
6137
- divides = input(DEFAULT_DIVIDES, ...(ngDevMode ? [{ debugName: "divides" }] : /* istanbul ignore next */ []));
6138
- itemRenderer = input(...(ngDevMode ? [undefined, { debugName: "itemRenderer" }] : /* istanbul ignore next */ []));
6139
- itemComponentClass = input(NgPrerenderVirtualListItemComponent, ...(ngDevMode ? [{ debugName: "itemComponentClass" }] : /* istanbul ignore next */ []));
6140
- _items = signal(null, ...(ngDevMode ? [{ debugName: "_items" }] : /* istanbul ignore next */ []));
6141
- classes = signal({ prepared: true }, ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
6132
+ enabled = input(false, ...(ngDevMode ? [{ debugName: "enabled" }] : []));
6133
+ direction = input(DEFAULT_DIRECTION, ...(ngDevMode ? [{ debugName: "direction" }] : []));
6134
+ isVertical = input(true, ...(ngDevMode ? [{ debugName: "isVertical" }] : []));
6135
+ scrollbarEnabled = input(DEFAULT_SCROLLBAR_ENABLED, ...(ngDevMode ? [{ debugName: "scrollbarEnabled" }] : []));
6136
+ startOffset = input(0, ...(ngDevMode ? [{ debugName: "startOffset" }] : []));
6137
+ endOffset = input(0, ...(ngDevMode ? [{ debugName: "endOffset" }] : []));
6138
+ bounds = input.required(...(ngDevMode ? [{ debugName: "bounds" }] : []));
6139
+ dynamic = input(DEFAULT_DYNAMIC_SIZE, ...(ngDevMode ? [{ debugName: "dynamic" }] : []));
6140
+ itemSize = input(DEFAULT_ITEM_SIZE, ...(ngDevMode ? [{ debugName: "itemSize" }] : []));
6141
+ trackBy = input(TRACK_BY_PROPERTY_NAME, ...(ngDevMode ? [{ debugName: "trackBy" }] : []));
6142
+ divides = input(DEFAULT_DIVIDES, ...(ngDevMode ? [{ debugName: "divides" }] : []));
6143
+ itemRenderer = input(...(ngDevMode ? [undefined, { debugName: "itemRenderer" }] : []));
6144
+ itemComponentClass = input(NgPrerenderVirtualListItemComponent, ...(ngDevMode ? [{ debugName: "itemComponentClass" }] : []));
6145
+ _items = signal(null, ...(ngDevMode ? [{ debugName: "_items" }] : []));
6146
+ classes = signal({ prepared: true }, ...(ngDevMode ? [{ debugName: "classes" }] : []));
6142
6147
  _$render = new Subject();
6143
6148
  $render = this._$render.asObservable();
6144
6149
  _$componentResize = new Subject();
@@ -6247,10 +6252,10 @@ class NgPrerenderList {
6247
6252
  this._trackBox = null;
6248
6253
  }
6249
6254
  }
6250
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderList, deps: [], target: i0.ɵɵFactoryTarget.Component });
6251
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.16", type: NgPrerenderList, isStandalone: false, selector: "ng-prerender-list", inputs: { enabled: { classPropertyName: "enabled", publicName: "enabled", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, isVertical: { classPropertyName: "isVertical", publicName: "isVertical", isSignal: true, isRequired: false, transformFunction: null }, scrollbarEnabled: { classPropertyName: "scrollbarEnabled", publicName: "scrollbarEnabled", isSignal: true, isRequired: false, transformFunction: null }, startOffset: { classPropertyName: "startOffset", publicName: "startOffset", isSignal: true, isRequired: false, transformFunction: null }, endOffset: { classPropertyName: "endOffset", publicName: "endOffset", isSignal: true, isRequired: false, transformFunction: null }, bounds: { classPropertyName: "bounds", publicName: "bounds", isSignal: true, isRequired: true, transformFunction: null }, dynamic: { classPropertyName: "dynamic", publicName: "dynamic", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: true, isRequired: false, transformFunction: null }, divides: { classPropertyName: "divides", publicName: "divides", isSignal: true, isRequired: false, transformFunction: null }, itemRenderer: { classPropertyName: "itemRenderer", publicName: "itemRenderer", isSignal: true, isRequired: false, transformFunction: null }, itemComponentClass: { classPropertyName: "itemComponentClass", publicName: "itemComponentClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { styleAttribute: "position: relative;" }, viewQueries: [{ propertyName: "_listContainerRef", first: true, predicate: ["renderersContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<ng-prerender-scroller #scroller class=\"ngvl__list-scroller\" [classes]=\"classes()\" [direction]=\"direction()\"\r\n [scrollbarEnabled]=\"scrollbarEnabled()\" [startOffset]=\"startOffset()\" [endOffset]=\"endOffset()\">\r\n <ng-container #renderersContainer></ng-container>\r\n</ng-prerender-scroller>", styles: [":host{position:relative;display:block;width:400px;overflow:hidden}:host(.horizontal){height:48px}:host(.vertical){height:320px}.ngvl__snapped-container{position:relative;width:100%;opacity:0}.ngvl__snapped-container.prepared{opacity:1}.ngvl__list-snapper{-webkit-tap-highlight-color:transparent;position:absolute;list-style:none;left:0;top:0;z-index:1}.ngvl__list-scroller{-webkit-tap-highlight-color:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:0}.ngvl__screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n", ":host{width:100%;height:100%}\n"], dependencies: [{ kind: "component", type: NgPrerenderScrollerComponent, selector: "ng-prerender-scroller", inputs: ["scrollbarEnabled", "classes"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom });
6255
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderList, deps: [], target: i0.ɵɵFactoryTarget.Component });
6256
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: NgPrerenderList, isStandalone: false, selector: "ng-prerender-list", inputs: { enabled: { classPropertyName: "enabled", publicName: "enabled", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, isVertical: { classPropertyName: "isVertical", publicName: "isVertical", isSignal: true, isRequired: false, transformFunction: null }, scrollbarEnabled: { classPropertyName: "scrollbarEnabled", publicName: "scrollbarEnabled", isSignal: true, isRequired: false, transformFunction: null }, startOffset: { classPropertyName: "startOffset", publicName: "startOffset", isSignal: true, isRequired: false, transformFunction: null }, endOffset: { classPropertyName: "endOffset", publicName: "endOffset", isSignal: true, isRequired: false, transformFunction: null }, bounds: { classPropertyName: "bounds", publicName: "bounds", isSignal: true, isRequired: true, transformFunction: null }, dynamic: { classPropertyName: "dynamic", publicName: "dynamic", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: true, isRequired: false, transformFunction: null }, divides: { classPropertyName: "divides", publicName: "divides", isSignal: true, isRequired: false, transformFunction: null }, itemRenderer: { classPropertyName: "itemRenderer", publicName: "itemRenderer", isSignal: true, isRequired: false, transformFunction: null }, itemComponentClass: { classPropertyName: "itemComponentClass", publicName: "itemComponentClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { styleAttribute: "position: relative;" }, viewQueries: [{ propertyName: "_listContainerRef", first: true, predicate: ["renderersContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<ng-prerender-scroller #scroller class=\"ngvl__list-scroller\" [classes]=\"classes()\" [direction]=\"direction()\"\r\n [scrollbarEnabled]=\"scrollbarEnabled()\" [startOffset]=\"startOffset()\" [endOffset]=\"endOffset()\">\r\n <ng-container #renderersContainer></ng-container>\r\n</ng-prerender-scroller>", styles: [":host{position:relative;display:block;width:400px;overflow:hidden}:host(.horizontal){height:48px}:host(.vertical){height:320px}.ngvl__snapped-container{position:relative;width:100%;opacity:0}.ngvl__snapped-container.prepared{opacity:1}.ngvl__list-snapper{-webkit-tap-highlight-color:transparent;position:absolute;list-style:none;left:0;top:0;z-index:1}.ngvl__list-scroller{-webkit-tap-highlight-color:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:0}.ngvl__screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n", ":host{width:100%;height:100%}\n"], dependencies: [{ kind: "component", type: NgPrerenderScrollerComponent, selector: "ng-prerender-scroller", inputs: ["scrollbarEnabled", "classes"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom });
6252
6257
  }
6253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderList, decorators: [{
6258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderList, decorators: [{
6254
6259
  type: Component,
6255
6260
  args: [{ selector: 'ng-prerender-list', host: {
6256
6261
  'style': 'position: relative;'
@@ -6269,19 +6274,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
6269
6274
  * @email djonnyx@gmail.com
6270
6275
  */
6271
6276
  class NgPrerenderContainer {
6272
- _list = viewChild('list', ...(ngDevMode ? [{ debugName: "_list" }] : /* istanbul ignore next */ []));
6273
- enabled = input(false, ...(ngDevMode ? [{ debugName: "enabled" }] : /* istanbul ignore next */ []));
6274
- direction = input(DEFAULT_DIRECTION, ...(ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []));
6275
- isVertical = input(true, ...(ngDevMode ? [{ debugName: "isVertical" }] : /* istanbul ignore next */ []));
6276
- scrollbarEnabled = input(DEFAULT_SCROLLBAR_ENABLED, ...(ngDevMode ? [{ debugName: "scrollbarEnabled" }] : /* istanbul ignore next */ []));
6277
- startOffset = input(0, ...(ngDevMode ? [{ debugName: "startOffset" }] : /* istanbul ignore next */ []));
6278
- endOffset = input(0, ...(ngDevMode ? [{ debugName: "endOffset" }] : /* istanbul ignore next */ []));
6279
- bounds = input.required(...(ngDevMode ? [{ debugName: "bounds" }] : /* istanbul ignore next */ []));
6280
- dynamic = input(DEFAULT_DYNAMIC_SIZE, ...(ngDevMode ? [{ debugName: "dynamic" }] : /* istanbul ignore next */ []));
6281
- itemSize = input(DEFAULT_ITEM_SIZE, ...(ngDevMode ? [{ debugName: "itemSize" }] : /* istanbul ignore next */ []));
6282
- trackBy = input(TRACK_BY_PROPERTY_NAME, ...(ngDevMode ? [{ debugName: "trackBy" }] : /* istanbul ignore next */ []));
6283
- divides = input(DEFAULT_DIVIDES, ...(ngDevMode ? [{ debugName: "divides" }] : /* istanbul ignore next */ []));
6284
- itemRenderer = input(...(ngDevMode ? [undefined, { debugName: "itemRenderer" }] : /* istanbul ignore next */ []));
6277
+ _list = viewChild('list', ...(ngDevMode ? [{ debugName: "_list" }] : []));
6278
+ enabled = input(false, ...(ngDevMode ? [{ debugName: "enabled" }] : []));
6279
+ direction = input(DEFAULT_DIRECTION, ...(ngDevMode ? [{ debugName: "direction" }] : []));
6280
+ isVertical = input(true, ...(ngDevMode ? [{ debugName: "isVertical" }] : []));
6281
+ scrollbarEnabled = input(DEFAULT_SCROLLBAR_ENABLED, ...(ngDevMode ? [{ debugName: "scrollbarEnabled" }] : []));
6282
+ startOffset = input(0, ...(ngDevMode ? [{ debugName: "startOffset" }] : []));
6283
+ endOffset = input(0, ...(ngDevMode ? [{ debugName: "endOffset" }] : []));
6284
+ bounds = input.required(...(ngDevMode ? [{ debugName: "bounds" }] : []));
6285
+ dynamic = input(DEFAULT_DYNAMIC_SIZE, ...(ngDevMode ? [{ debugName: "dynamic" }] : []));
6286
+ itemSize = input(DEFAULT_ITEM_SIZE, ...(ngDevMode ? [{ debugName: "itemSize" }] : []));
6287
+ trackBy = input(TRACK_BY_PROPERTY_NAME, ...(ngDevMode ? [{ debugName: "trackBy" }] : []));
6288
+ divides = input(DEFAULT_DIVIDES, ...(ngDevMode ? [{ debugName: "divides" }] : []));
6289
+ itemRenderer = input(...(ngDevMode ? [undefined, { debugName: "itemRenderer" }] : []));
6285
6290
  $render;
6286
6291
  get active() {
6287
6292
  return this._list()?.active ?? false;
@@ -6308,10 +6313,10 @@ class NgPrerenderContainer {
6308
6313
  list.off();
6309
6314
  }
6310
6315
  }
6311
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
6312
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.16", type: NgPrerenderContainer, isStandalone: false, selector: "ng-prerender-container", inputs: { enabled: { classPropertyName: "enabled", publicName: "enabled", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, isVertical: { classPropertyName: "isVertical", publicName: "isVertical", isSignal: true, isRequired: false, transformFunction: null }, scrollbarEnabled: { classPropertyName: "scrollbarEnabled", publicName: "scrollbarEnabled", isSignal: true, isRequired: false, transformFunction: null }, startOffset: { classPropertyName: "startOffset", publicName: "startOffset", isSignal: true, isRequired: false, transformFunction: null }, endOffset: { classPropertyName: "endOffset", publicName: "endOffset", isSignal: true, isRequired: false, transformFunction: null }, bounds: { classPropertyName: "bounds", publicName: "bounds", isSignal: true, isRequired: true, transformFunction: null }, dynamic: { classPropertyName: "dynamic", publicName: "dynamic", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: true, isRequired: false, transformFunction: null }, divides: { classPropertyName: "divides", publicName: "divides", isSignal: true, isRequired: false, transformFunction: null }, itemRenderer: { classPropertyName: "itemRenderer", publicName: "itemRenderer", isSignal: true, isRequired: false, transformFunction: null } }, host: { styleAttribute: "position: relative;" }, viewQueries: [{ propertyName: "_list", first: true, predicate: ["list"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-prerender-list #list [bounds]=\"bounds()!\" [direction]=\"direction()\" [dynamic]=\"dynamic()\" [divides]=\"divides()\"\r\n [isVertical]=\"isVertical()\" [itemSize]=\"itemSize()\" [trackBy]=\"trackBy()\" [itemRenderer]=\"itemRenderer()\"\r\n [startOffset]=\"startOffset()\" [endOffset]=\"endOffset()\" [scrollbarEnabled]=\"scrollbarEnabled()\"\r\n [enabled]=\"enabled()\" />", styles: [":host{position:relative;display:block;width:400px;overflow:hidden}:host(.horizontal){height:48px}:host(.vertical){height:320px}.ngvl__snapped-container{position:relative;width:100%;opacity:0}.ngvl__snapped-container.prepared{opacity:1}.ngvl__list-snapper{-webkit-tap-highlight-color:transparent;position:absolute;list-style:none;left:0;top:0;z-index:1}.ngvl__list-scroller{-webkit-tap-highlight-color:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:0}.ngvl__screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n", ":host{visibility:hidden;height:0!important;width:0!important;overflow:hidden}\n"], dependencies: [{ kind: "component", type: NgPrerenderList, selector: "ng-prerender-list", inputs: ["enabled", "direction", "isVertical", "scrollbarEnabled", "startOffset", "endOffset", "bounds", "dynamic", "itemSize", "trackBy", "divides", "itemRenderer", "itemComponentClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom });
6316
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
6317
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: NgPrerenderContainer, isStandalone: false, selector: "ng-prerender-container", inputs: { enabled: { classPropertyName: "enabled", publicName: "enabled", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, isVertical: { classPropertyName: "isVertical", publicName: "isVertical", isSignal: true, isRequired: false, transformFunction: null }, scrollbarEnabled: { classPropertyName: "scrollbarEnabled", publicName: "scrollbarEnabled", isSignal: true, isRequired: false, transformFunction: null }, startOffset: { classPropertyName: "startOffset", publicName: "startOffset", isSignal: true, isRequired: false, transformFunction: null }, endOffset: { classPropertyName: "endOffset", publicName: "endOffset", isSignal: true, isRequired: false, transformFunction: null }, bounds: { classPropertyName: "bounds", publicName: "bounds", isSignal: true, isRequired: true, transformFunction: null }, dynamic: { classPropertyName: "dynamic", publicName: "dynamic", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: true, isRequired: false, transformFunction: null }, divides: { classPropertyName: "divides", publicName: "divides", isSignal: true, isRequired: false, transformFunction: null }, itemRenderer: { classPropertyName: "itemRenderer", publicName: "itemRenderer", isSignal: true, isRequired: false, transformFunction: null } }, host: { styleAttribute: "position: relative;" }, viewQueries: [{ propertyName: "_list", first: true, predicate: ["list"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-prerender-list #list [bounds]=\"bounds()!\" [direction]=\"direction()\" [dynamic]=\"dynamic()\" [divides]=\"divides()\"\r\n [isVertical]=\"isVertical()\" [itemSize]=\"itemSize()\" [trackBy]=\"trackBy()\" [itemRenderer]=\"itemRenderer()\"\r\n [startOffset]=\"startOffset()\" [endOffset]=\"endOffset()\" [scrollbarEnabled]=\"scrollbarEnabled()\"\r\n [enabled]=\"enabled()\" />", styles: [":host{position:relative;display:block;width:400px;overflow:hidden}:host(.horizontal){height:48px}:host(.vertical){height:320px}.ngvl__snapped-container{position:relative;width:100%;opacity:0}.ngvl__snapped-container.prepared{opacity:1}.ngvl__list-snapper{-webkit-tap-highlight-color:transparent;position:absolute;list-style:none;left:0;top:0;z-index:1}.ngvl__list-scroller{-webkit-tap-highlight-color:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:0}.ngvl__screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n", ":host{visibility:hidden;height:0!important;width:0!important;overflow:hidden}\n"], dependencies: [{ kind: "component", type: NgPrerenderList, selector: "ng-prerender-list", inputs: ["enabled", "direction", "isVertical", "scrollbarEnabled", "startOffset", "endOffset", "bounds", "dynamic", "itemSize", "trackBy", "divides", "itemRenderer", "itemComponentClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom });
6313
6318
  }
6314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderContainer, decorators: [{
6319
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderContainer, decorators: [{
6315
6320
  type: Component,
6316
6321
  args: [{ selector: 'ng-prerender-container', host: {
6317
6322
  'style': 'position: relative;'
@@ -6334,10 +6339,10 @@ class NgVirtualListComponent {
6334
6339
  */
6335
6340
  get id() { return this._id; }
6336
6341
  _service = inject(NgVirtualListService);
6337
- _prerender = viewChild('prerender', ...(ngDevMode ? [{ debugName: "_prerender" }] : /* istanbul ignore next */ []));
6342
+ _prerender = viewChild('prerender', ...(ngDevMode ? [{ debugName: "_prerender" }] : []));
6338
6343
  _listContainerRef;
6339
6344
  _snapContainerRef;
6340
- _scrollerComponent = viewChild('scroller', ...(ngDevMode ? [{ debugName: "_scrollerComponent" }] : /* istanbul ignore next */ []));
6345
+ _scrollerComponent = viewChild('scroller', ...(ngDevMode ? [{ debugName: "_scrollerComponent" }] : []));
6341
6346
  _scroller;
6342
6347
  _list;
6343
6348
  /**
@@ -6393,7 +6398,7 @@ class NgVirtualListComponent {
6393
6398
  /**
6394
6399
  * Scrollbar thickness.
6395
6400
  */
6396
- scrollbarThickness = input(DEFAULT_SCROLLBAR_THICKNESS, { ...(ngDevMode ? { debugName: "scrollbarThickness" } : /* istanbul ignore next */ {}), ...this._scrollbarThickness });
6401
+ scrollbarThickness = input(DEFAULT_SCROLLBAR_THICKNESS, { ...(ngDevMode ? { debugName: "scrollbarThickness" } : {}), ...this._scrollbarThickness });
6397
6402
  _scrollbarMinSize = {
6398
6403
  transform: (v) => {
6399
6404
  const valid = validateInt(v);
@@ -6407,7 +6412,7 @@ class NgVirtualListComponent {
6407
6412
  /**
6408
6413
  * Minimum scrollbar size.
6409
6414
  */
6410
- scrollbarMinSize = input(DEFAULT_SCROLLBAR_MIN_SIZE, { ...(ngDevMode ? { debugName: "scrollbarMinSize" } : /* istanbul ignore next */ {}), ...this._scrollbarMinSize });
6415
+ scrollbarMinSize = input(DEFAULT_SCROLLBAR_MIN_SIZE, { ...(ngDevMode ? { debugName: "scrollbarMinSize" } : {}), ...this._scrollbarMinSize });
6411
6416
  _scrollbarThumbRenderer = {
6412
6417
  transform: (v) => {
6413
6418
  const valid = validateObject(v, true, true);
@@ -6421,7 +6426,7 @@ class NgVirtualListComponent {
6421
6426
  /**
6422
6427
  * Scrollbar customization template.
6423
6428
  */
6424
- scrollbarThumbRenderer = input(null, { ...(ngDevMode ? { debugName: "scrollbarThumbRenderer" } : /* istanbul ignore next */ {}), ...this._scrollbarThumbRenderer });
6429
+ scrollbarThumbRenderer = input(null, { ...(ngDevMode ? { debugName: "scrollbarThumbRenderer" } : {}), ...this._scrollbarThumbRenderer });
6425
6430
  _scrollbarThumbParams = {
6426
6431
  transform: (v) => {
6427
6432
  const valid = validateObject(v, true, true);
@@ -6435,7 +6440,7 @@ class NgVirtualListComponent {
6435
6440
  /**
6436
6441
  * Additional options for the scrollbar.
6437
6442
  */
6438
- scrollbarThumbParams = input({}, { ...(ngDevMode ? { debugName: "scrollbarThumbParams" } : /* istanbul ignore next */ {}), ...this._scrollbarThumbParams });
6443
+ scrollbarThumbParams = input({}, { ...(ngDevMode ? { debugName: "scrollbarThumbParams" } : {}), ...this._scrollbarThumbParams });
6439
6444
  _loading = {
6440
6445
  transform: (v) => {
6441
6446
  const valid = validateBoolean(v);
@@ -6449,7 +6454,7 @@ class NgVirtualListComponent {
6449
6454
  /**
6450
6455
  * If `true`, the scrollBar goes into loading state. The default value is `false`.
6451
6456
  */
6452
- loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {}), ...this._loading });
6457
+ loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : {}), ...this._loading });
6453
6458
  _waitForPreparation = {
6454
6459
  transform: (v) => {
6455
6460
  const valid = validateBoolean(v);
@@ -6463,7 +6468,7 @@ class NgVirtualListComponent {
6463
6468
  /**
6464
6469
  * If true, it will wait until the list items are fully prepared before displaying them.. The default value is `true`.
6465
6470
  */
6466
- waitForPreparation = input(DEFAULT_WAIT_FOR_PREPARATION, { ...(ngDevMode ? { debugName: "waitForPreparation" } : /* istanbul ignore next */ {}), ...this._waitForPreparation });
6471
+ waitForPreparation = input(DEFAULT_WAIT_FOR_PREPARATION, { ...(ngDevMode ? { debugName: "waitForPreparation" } : {}), ...this._waitForPreparation });
6467
6472
  _clickDistance = {
6468
6473
  transform: (v) => {
6469
6474
  const valid = validateInt(v);
@@ -6477,7 +6482,7 @@ class NgVirtualListComponent {
6477
6482
  /**
6478
6483
  * The maximum scroll distance at which a click event is triggered.
6479
6484
  */
6480
- clickDistance = input(DEFAULT_CLICK_DISTANCE, { ...(ngDevMode ? { debugName: "clickDistance" } : /* istanbul ignore next */ {}), ...this._clickDistance });
6485
+ clickDistance = input(DEFAULT_CLICK_DISTANCE, { ...(ngDevMode ? { debugName: "clickDistance" } : {}), ...this._clickDistance });
6481
6486
  _itemsOptions = {
6482
6487
  transform: (v) => {
6483
6488
  let valid = validateArray(v, true, true);
@@ -6506,7 +6511,7 @@ class NgVirtualListComponent {
6506
6511
  /**
6507
6512
  * Collection of list items.
6508
6513
  */
6509
- items = input.required({ ...(ngDevMode ? { debugName: "items" } : /* istanbul ignore next */ {}), ...this._itemsOptions });
6514
+ items = input.required({ ...(ngDevMode ? { debugName: "items" } : {}), ...this._itemsOptions });
6510
6515
  _selectedIdsOptions = {
6511
6516
  transform: (v) => {
6512
6517
  let valid = validateArray(v, true, true) || validateString(v, true, true) || validateFloat(v, true);
@@ -6528,11 +6533,11 @@ class NgVirtualListComponent {
6528
6533
  return v;
6529
6534
  },
6530
6535
  };
6531
- defaultItemValue = input(null, ...(ngDevMode ? [{ debugName: "defaultItemValue" }] : /* istanbul ignore next */ []));
6536
+ defaultItemValue = input(null, ...(ngDevMode ? [{ debugName: "defaultItemValue" }] : []));
6532
6537
  /**
6533
6538
  * Sets the selected items.
6534
6539
  */
6535
- selectedIds = input(null, { ...(ngDevMode ? { debugName: "selectedIds" } : /* istanbul ignore next */ {}), ...this._selectedIdsOptions });
6540
+ selectedIds = input(null, { ...(ngDevMode ? { debugName: "selectedIds" } : {}), ...this._selectedIdsOptions });
6536
6541
  _collapsedIdsOptions = {
6537
6542
  transform: (v) => {
6538
6543
  let valid = validateArray(v, true, true);
@@ -6557,7 +6562,7 @@ class NgVirtualListComponent {
6557
6562
  /**
6558
6563
  * Sets the collapsed items.
6559
6564
  */
6560
- collapsedIds = input([], { ...(ngDevMode ? { debugName: "collapsedIds" } : /* istanbul ignore next */ {}), ...this._collapsedIdsOptions });
6565
+ collapsedIds = input([], { ...(ngDevMode ? { debugName: "collapsedIds" } : {}), ...this._collapsedIdsOptions });
6561
6566
  _selectByClickOptions = {
6562
6567
  transform: (v) => {
6563
6568
  const valid = validateBoolean(v);
@@ -6572,7 +6577,7 @@ class NgVirtualListComponent {
6572
6577
  * If `false`, the element is selected using the api.select method passed to the template;
6573
6578
  * if `true`, the element is selected by clicking on it. The default value is `true`.
6574
6579
  */
6575
- selectByClick = input(DEFAULT_SELECT_BY_CLICK, { ...(ngDevMode ? { debugName: "selectByClick" } : /* istanbul ignore next */ {}), ...this._selectByClickOptions });
6580
+ selectByClick = input(DEFAULT_SELECT_BY_CLICK, { ...(ngDevMode ? { debugName: "selectByClick" } : {}), ...this._selectByClickOptions });
6576
6581
  _collapseByClickOptions = {
6577
6582
  transform: (v) => {
6578
6583
  const valid = validateBoolean(v);
@@ -6587,7 +6592,7 @@ class NgVirtualListComponent {
6587
6592
  * If `false`, the element is collapsed using the config.collapse method passed to the template;
6588
6593
  * if `true`, the element is collapsed by clicking on it. The default value is `true`.
6589
6594
  */
6590
- collapseByClick = input(DEFAULT_COLLAPSE_BY_CLICK, { ...(ngDevMode ? { debugName: "collapseByClick" } : /* istanbul ignore next */ {}), ...this._collapseByClickOptions });
6595
+ collapseByClick = input(DEFAULT_COLLAPSE_BY_CLICK, { ...(ngDevMode ? { debugName: "collapseByClick" } : {}), ...this._collapseByClickOptions });
6591
6596
  _snapOptions = {
6592
6597
  transform: (v) => {
6593
6598
  throw Error(`Property snap is deprecated. Use the \`stickyEnabled\` property instead.`);
@@ -6597,7 +6602,7 @@ class NgVirtualListComponent {
6597
6602
  * @deprecated
6598
6603
  * Use the `stickyEnabled` property instead.
6599
6604
  */
6600
- snap = input(false, { ...(ngDevMode ? { debugName: "snap" } : /* istanbul ignore next */ {}), ...this._snapOptions });
6605
+ snap = input(false, { ...(ngDevMode ? { debugName: "snap" } : {}), ...this._snapOptions });
6601
6606
  _stickyEnabledOptions = {
6602
6607
  transform: (v) => {
6603
6608
  const valid = validateBoolean(v);
@@ -6611,7 +6616,7 @@ class NgVirtualListComponent {
6611
6616
  /**
6612
6617
  * Determines whether items with the given `sticky` in `itemConfigMap` will stick to the edges. Default value is "true".
6613
6618
  */
6614
- stickyEnabled = input(DEFAULT_STICKY_ENABLED, { ...(ngDevMode ? { debugName: "stickyEnabled" } : /* istanbul ignore next */ {}), ...this._stickyEnabledOptions });
6619
+ stickyEnabled = input(DEFAULT_STICKY_ENABLED, { ...(ngDevMode ? { debugName: "stickyEnabled" } : {}), ...this._stickyEnabledOptions });
6615
6620
  _snapToEndTransitionInstantOffsetOptions = {
6616
6621
  transform: (v) => {
6617
6622
  const valid = validateFloat(v, true);
@@ -6625,7 +6630,7 @@ class NgVirtualListComponent {
6625
6630
  /**
6626
6631
  * Sets the offset value; if the scroll area value is exceeded, the scroll animation will be disabled. Default value is "0".
6627
6632
  */
6628
- snapToEndTransitionInstantOffset = input(DEFAULT_SNAP_TO_END_TRANSITION_INSTANT_OFFSET, { ...(ngDevMode ? { debugName: "snapToEndTransitionInstantOffset" } : /* istanbul ignore next */ {}), ...this._snapToEndTransitionInstantOffsetOptions });
6633
+ snapToEndTransitionInstantOffset = input(DEFAULT_SNAP_TO_END_TRANSITION_INSTANT_OFFSET, { ...(ngDevMode ? { debugName: "snapToEndTransitionInstantOffset" } : {}), ...this._snapToEndTransitionInstantOffsetOptions });
6629
6634
  _scrollStartOffsetOptions = {
6630
6635
  transform: (v) => {
6631
6636
  const valid = validateFloat(v, true) || isPercentageValue(v);
@@ -6640,7 +6645,7 @@ class NgVirtualListComponent {
6640
6645
  * Sets the scroll start offset value. Can be specified in absolute or percentage values.
6641
6646
  * Supports arithmetic expressions of addition `50% + 25` or subtraction `50% - 25`. Default value is "0".
6642
6647
  */
6643
- scrollStartOffset = input(0, { ...(ngDevMode ? { debugName: "scrollStartOffset" } : /* istanbul ignore next */ {}), ...this._scrollStartOffsetOptions });
6648
+ scrollStartOffset = input(0, { ...(ngDevMode ? { debugName: "scrollStartOffset" } : {}), ...this._scrollStartOffsetOptions });
6644
6649
  _scrollEndOffsetOptions = {
6645
6650
  transform: (v) => {
6646
6651
  const valid = validateFloat(v, true) || isPercentageValue(v);
@@ -6655,7 +6660,7 @@ class NgVirtualListComponent {
6655
6660
  * Sets the scroll end offset value. Can be specified in absolute or percentage values.
6656
6661
  * Supports arithmetic expressions of addition `50% + 25` or subtraction `50% - 25`. Default value is "0".
6657
6662
  */
6658
- scrollEndOffset = input(0, { ...(ngDevMode ? { debugName: "scrollEndOffset" } : /* istanbul ignore next */ {}), ...this._scrollEndOffsetOptions });
6663
+ scrollEndOffset = input(0, { ...(ngDevMode ? { debugName: "scrollEndOffset" } : {}), ...this._scrollEndOffsetOptions });
6659
6664
  _snapScrollToStartOptions = {
6660
6665
  transform: (v) => {
6661
6666
  const valid = validateBoolean(v, true);
@@ -6676,7 +6681,7 @@ class NgVirtualListComponent {
6676
6681
  * If both snapScrollToStart and snapScrollToEnd are disabled, the list will never snap to the beginning or end.
6677
6682
  * In the `spreadingMode=SpreadingModes.INFINITY` mode, the `snapScrollToStart` property is automatically disabled, since the list has no beginning or end.
6678
6683
  */
6679
- snapScrollToStart = input(DEFAULT_SNAP_SCROLLTO_START, { ...(ngDevMode ? { debugName: "snapScrollToStart" } : /* istanbul ignore next */ {}), ...this._snapScrollToStartOptions });
6684
+ snapScrollToStart = input(DEFAULT_SNAP_SCROLLTO_START, { ...(ngDevMode ? { debugName: "snapScrollToStart" } : {}), ...this._snapScrollToStartOptions });
6680
6685
  _snapScrollToEndOptions = {
6681
6686
  transform: (v) => {
6682
6687
  const valid = validateBoolean(v, true);
@@ -6696,7 +6701,7 @@ class NgVirtualListComponent {
6696
6701
  * If both snapScrollToStart and snapScrollToEnd are disabled, the list will never snap to the beginning or end.
6697
6702
  * In the `spreadingMode=SpreadingModes.INFINITY` mode, the `snapScrollToEnd` property is automatically disabled, since the list has no beginning or end.
6698
6703
  */
6699
- snapScrollToEnd = input(DEFAULT_SNAP_SCROLLTO_END, { ...(ngDevMode ? { debugName: "snapScrollToEnd" } : /* istanbul ignore next */ {}), ...this._snapScrollToEndOptions });
6704
+ snapScrollToEnd = input(DEFAULT_SNAP_SCROLLTO_END, { ...(ngDevMode ? { debugName: "snapScrollToEnd" } : {}), ...this._snapScrollToEndOptions });
6700
6705
  _snapScrollToBottomOptions = {
6701
6706
  transform: () => {
6702
6707
  throw Error('The stopSnappingScrollToEnd property is deprecated. Use the snapScrollToEnd property.');
@@ -6706,7 +6711,7 @@ class NgVirtualListComponent {
6706
6711
  * @deprecated
6707
6712
  * The stopSnappingScrollToEnd property is deprecated. Use the snapScrollToEnd property.
6708
6713
  */
6709
- snapScrollToBottom = input('deprecated', { ...(ngDevMode ? { debugName: "snapScrollToBottom" } : /* istanbul ignore next */ {}), ...this._snapScrollToBottomOptions });
6714
+ snapScrollToBottom = input('deprecated', { ...(ngDevMode ? { debugName: "snapScrollToBottom" } : {}), ...this._snapScrollToBottomOptions });
6710
6715
  _scrollbarEnabledOptions = {
6711
6716
  transform: (v) => {
6712
6717
  const valid = validateBoolean(v, true);
@@ -6720,7 +6725,7 @@ class NgVirtualListComponent {
6720
6725
  /**
6721
6726
  * Determines whether the scrollbar is shown or not. The default value is "true".
6722
6727
  */
6723
- scrollbarEnabled = input(DEFAULT_SCROLLBAR_ENABLED, { ...(ngDevMode ? { debugName: "scrollbarEnabled" } : /* istanbul ignore next */ {}), ...this._scrollbarEnabledOptions });
6728
+ scrollbarEnabled = input(DEFAULT_SCROLLBAR_ENABLED, { ...(ngDevMode ? { debugName: "scrollbarEnabled" } : {}), ...this._scrollbarEnabledOptions });
6724
6729
  _scrollbarInteractiveOptions = {
6725
6730
  transform: (v) => {
6726
6731
  const valid = validateBoolean(v, true);
@@ -6734,7 +6739,7 @@ class NgVirtualListComponent {
6734
6739
  /**
6735
6740
  * Determines whether scrolling using the scrollbar will be possible. The default value is "true".
6736
6741
  */
6737
- scrollbarInteractive = input(DEFAULT_SCROLLBAR_INTERACTIVE, { ...(ngDevMode ? { debugName: "scrollbarInteractive" } : /* istanbul ignore next */ {}), ...this._scrollbarInteractiveOptions });
6742
+ scrollbarInteractive = input(DEFAULT_SCROLLBAR_INTERACTIVE, { ...(ngDevMode ? { debugName: "scrollbarInteractive" } : {}), ...this._scrollbarInteractiveOptions });
6738
6743
  _overlappingScrollbarOptions = {
6739
6744
  transform: (v) => {
6740
6745
  const valid = validateBoolean(v, true);
@@ -6748,7 +6753,7 @@ class NgVirtualListComponent {
6748
6753
  /**
6749
6754
  * Determines whether the scroll bar will overlap the list. The default value is "false".
6750
6755
  */
6751
- overlappingScrollbar = input(DEFAULT_OVERLAPPING_SCROLLBAR, { ...(ngDevMode ? { debugName: "overlappingScrollbar" } : /* istanbul ignore next */ {}), ...this._overlappingScrollbarOptions });
6756
+ overlappingScrollbar = input(DEFAULT_OVERLAPPING_SCROLLBAR, { ...(ngDevMode ? { debugName: "overlappingScrollbar" } : {}), ...this._overlappingScrollbarOptions });
6752
6757
  _scrollBehaviorOptions = {
6753
6758
  transform: (v) => {
6754
6759
  const valid = validateString(v, true, true);
@@ -6762,7 +6767,7 @@ class NgVirtualListComponent {
6762
6767
  /**
6763
6768
  * Defines the scrolling behavior for any element on the page. The default value is "smooth".
6764
6769
  */
6765
- scrollBehavior = input(DEFAULT_SCROLL_BEHAVIOR, { ...(ngDevMode ? { debugName: "scrollBehavior" } : /* istanbul ignore next */ {}), ...this._scrollBehaviorOptions });
6770
+ scrollBehavior = input(DEFAULT_SCROLL_BEHAVIOR, { ...(ngDevMode ? { debugName: "scrollBehavior" } : {}), ...this._scrollBehaviorOptions });
6766
6771
  _scrollingSettingsOptions = {
6767
6772
  transform: (v) => {
6768
6773
  let valid = validateObject(v, true, true);
@@ -6822,7 +6827,7 @@ class NgVirtualListComponent {
6822
6827
  * - speedScale - Speed scale. Default value is 10.
6823
6828
  * - optimization - Enables scrolling performance optimization. Default value is `true`.
6824
6829
  */
6825
- scrollingSettings = input(DEFAULT_SCROLLING_SETTINGS, { ...(ngDevMode ? { debugName: "scrollingSettings" } : /* istanbul ignore next */ {}), ...this._scrollingSettingsOptions });
6830
+ scrollingSettings = input(DEFAULT_SCROLLING_SETTINGS, { ...(ngDevMode ? { debugName: "scrollingSettings" } : {}), ...this._scrollingSettingsOptions });
6826
6831
  _itemTransformOptions = {
6827
6832
  transform: (v) => {
6828
6833
  let valid = validateFunction(v, true, true);
@@ -6836,7 +6841,7 @@ class NgVirtualListComponent {
6836
6841
  /**
6837
6842
  * Custom transformation of element's position, rotation, scale, opacity and zIndex. The default value is `null`.
6838
6843
  */
6839
- itemTransform = input(null, { ...(ngDevMode ? { debugName: "itemTransform" } : /* istanbul ignore next */ {}), ...this._itemTransformOptions });
6844
+ itemTransform = input(null, { ...(ngDevMode ? { debugName: "itemTransform" } : {}), ...this._itemTransformOptions });
6840
6845
  _snapToItemOptions = {
6841
6846
  transform: (v) => {
6842
6847
  const valid = validateBoolean(v);
@@ -6850,7 +6855,7 @@ class NgVirtualListComponent {
6850
6855
  /**
6851
6856
  * Snap to an item. The default value is `false`.
6852
6857
  */
6853
- snapToItem = input(DEFAULT_SNAP_TO_ITEM, { ...(ngDevMode ? { debugName: "snapToItem" } : /* istanbul ignore next */ {}), ...this._snapToItemOptions });
6858
+ snapToItem = input(DEFAULT_SNAP_TO_ITEM, { ...(ngDevMode ? { debugName: "snapToItem" } : {}), ...this._snapToItemOptions });
6854
6859
  _snapToItemAlignOptions = {
6855
6860
  transform: (v) => {
6856
6861
  const valid = validateString(v) && (v === 'start' || v === 'center' || v === 'end');
@@ -6864,7 +6869,7 @@ class NgVirtualListComponent {
6864
6869
  /**
6865
6870
  * Alignment for snapToItem. Available values ​​are `start`, `center`, and `end`. The default value is `center`.
6866
6871
  */
6867
- snapToItemAlign = input(DEFAULT_SNAP_TO_ITEM_ALIGN, { ...(ngDevMode ? { debugName: "snapToItemAlign" } : /* istanbul ignore next */ {}), ...this._snapToItemAlignOptions });
6872
+ snapToItemAlign = input(DEFAULT_SNAP_TO_ITEM_ALIGN, { ...(ngDevMode ? { debugName: "snapToItemAlign" } : {}), ...this._snapToItemAlignOptions });
6868
6873
  _snappingDistanceOptions = {
6869
6874
  transform: (v) => {
6870
6875
  const valid = validateString(v) || validateFloat(v);
@@ -6879,7 +6884,7 @@ class NgVirtualListComponent {
6879
6884
  * Snapping activation distance. Can be specified as a percentage of the element size or in absolute values.
6880
6885
  * The default value is `25%`.
6881
6886
  */
6882
- snappingDistance = input(DEFAULT_SNAPPING_DISTANCE, { ...(ngDevMode ? { debugName: "snappingDistance" } : /* istanbul ignore next */ {}), ...this._snappingDistanceOptions });
6887
+ snappingDistance = input(DEFAULT_SNAPPING_DISTANCE, { ...(ngDevMode ? { debugName: "snappingDistance" } : {}), ...this._snappingDistanceOptions });
6883
6888
  _scrollingOneByOneOptions = {
6884
6889
  transform: (v) => {
6885
6890
  const valid = validateBoolean(v);
@@ -6893,7 +6898,7 @@ class NgVirtualListComponent {
6893
6898
  /**
6894
6899
  * Specifies whether to scroll one item at a time if true and the scrollToItem property is set. The default value is `false`.
6895
6900
  */
6896
- scrollingOneByOne = input(DEFAULT_SCROLLING_ONE_BY_ONE, { ...(ngDevMode ? { debugName: "scrollingOneByOne" } : /* istanbul ignore next */ {}), ...this._scrollingOneByOneOptions });
6901
+ scrollingOneByOne = input(DEFAULT_SCROLLING_ONE_BY_ONE, { ...(ngDevMode ? { debugName: "scrollingOneByOne" } : {}), ...this._scrollingOneByOneOptions });
6897
6902
  _alignmentOptions = {
6898
6903
  transform: (v) => {
6899
6904
  const valid = validateString(v) && (v === 'none' || v === 'center');
@@ -6908,7 +6913,7 @@ class NgVirtualListComponent {
6908
6913
  * Determines the alignment of the list. Two modes are available: `none` and `center`. The `center` mode aligns the list items to the center of the viewport, ideal for use with the `itemTransform` property.
6909
6914
  * The `none` mode means no alignment. The default value is `none`.
6910
6915
  */
6911
- alignment = input(DEFAULT_ALIGNMENT, { ...(ngDevMode ? { debugName: "alignment" } : /* istanbul ignore next */ {}), ...this._alignmentOptions });
6916
+ alignment = input(DEFAULT_ALIGNMENT, { ...(ngDevMode ? { debugName: "alignment" } : {}), ...this._alignmentOptions });
6912
6917
  _zIndexWhenSelectingOptions = {
6913
6918
  transform: (v) => {
6914
6919
  const valid = validateString(v, true, true);
@@ -6922,7 +6927,7 @@ class NgVirtualListComponent {
6922
6927
  /**
6923
6928
  * Defines the zIndex when a list item is selected. The default value is `null`.
6924
6929
  */
6925
- zIndexWhenSelecting = input(DEFAULT_ZINDEX_WHEN_SELECTING, { ...(ngDevMode ? { debugName: "zIndexWhenSelecting" } : /* istanbul ignore next */ {}), ...this._zIndexWhenSelectingOptions });
6930
+ zIndexWhenSelecting = input(DEFAULT_ZINDEX_WHEN_SELECTING, { ...(ngDevMode ? { debugName: "zIndexWhenSelecting" } : {}), ...this._zIndexWhenSelectingOptions });
6926
6931
  _spreadingModeOptions = {
6927
6932
  transform: (v) => {
6928
6933
  const valid = validateString(v) && (v === 'normal' || v === 'infinity');
@@ -6940,7 +6945,7 @@ class NgVirtualListComponent {
6940
6945
  * When set to `infinity`, the `alignment` property is forced to the value `Alignments.CENTER`, the `scrollbarEnabled` property is forced to the `false`
6941
6946
  * The default value is `standard`.
6942
6947
  */
6943
- spreadingMode = input(DEFAULT_SPREADING_MODE, { ...(ngDevMode ? { debugName: "spreadingMode" } : /* istanbul ignore next */ {}), ...this._spreadingModeOptions });
6948
+ spreadingMode = input(DEFAULT_SPREADING_MODE, { ...(ngDevMode ? { debugName: "spreadingMode" } : {}), ...this._spreadingModeOptions });
6944
6949
  _dividesOptions = {
6945
6950
  transform: (v) => {
6946
6951
  const valid = validateFloat(v);
@@ -6954,7 +6959,7 @@ class NgVirtualListComponent {
6954
6959
  /**
6955
6960
  * Column or row numbers. The default value is `1`.
6956
6961
  */
6957
- divides = input(DEFAULT_DIVIDES, { ...(ngDevMode ? { debugName: "divides" } : /* istanbul ignore next */ {}), ...this._dividesOptions });
6962
+ divides = input(DEFAULT_DIVIDES, { ...(ngDevMode ? { debugName: "divides" } : {}), ...this._dividesOptions });
6958
6963
  _motionBlurOptions = {
6959
6964
  transform: (v) => {
6960
6965
  const valid = validateFloat(v);
@@ -6968,7 +6973,7 @@ class NgVirtualListComponent {
6968
6973
  /**
6969
6974
  * Motion blur effect. The default value is `0.15`.
6970
6975
  */
6971
- motionBlur = input(DEFAULT_MOTION_BLUR, { ...(ngDevMode ? { debugName: "motionBlur" } : /* istanbul ignore next */ {}), ...this._motionBlurOptions });
6976
+ motionBlur = input(DEFAULT_MOTION_BLUR, { ...(ngDevMode ? { debugName: "motionBlur" } : {}), ...this._motionBlurOptions });
6972
6977
  _maxMotionBlurOptions = {
6973
6978
  transform: (v) => {
6974
6979
  const valid = validateFloat(v);
@@ -6982,7 +6987,7 @@ class NgVirtualListComponent {
6982
6987
  /**
6983
6988
  * Maximum motion blur effect. The default value is `0.5`.
6984
6989
  */
6985
- maxMotionBlur = input(DEFAULT_MAX_MOTION_BLUR, { ...(ngDevMode ? { debugName: "maxMotionBlur" } : /* istanbul ignore next */ {}), ...this._maxMotionBlurOptions });
6990
+ maxMotionBlur = input(DEFAULT_MAX_MOTION_BLUR, { ...(ngDevMode ? { debugName: "maxMotionBlur" } : {}), ...this._maxMotionBlurOptions });
6986
6991
  _motionBlurEnabledOptions = {
6987
6992
  transform: (v) => {
6988
6993
  const valid = validateBoolean(v);
@@ -6996,7 +7001,7 @@ class NgVirtualListComponent {
6996
7001
  /**
6997
7002
  * Determines whether to apply motion blur or not. The default value is `false`.
6998
7003
  */
6999
- motionBlurEnabled = input(DEFAULT_MOTION_BLUR_ENABLED, { ...(ngDevMode ? { debugName: "motionBlurEnabled" } : /* istanbul ignore next */ {}), ...this._motionBlurEnabledOptions });
7004
+ motionBlurEnabled = input(DEFAULT_MOTION_BLUR_ENABLED, { ...(ngDevMode ? { debugName: "motionBlurEnabled" } : {}), ...this._motionBlurEnabledOptions });
7000
7005
  _animationParamsOptions = {
7001
7006
  transform: (v) => {
7002
7007
  const valid = validateObject(v, true, true);
@@ -7026,7 +7031,7 @@ class NgVirtualListComponent {
7026
7031
  /**
7027
7032
  * Animation parameters. The default value is "{ scrollToItem: 50, snapToItem: 150, navigateToItem: 150, navigateByKeyboard: 50 }".
7028
7033
  */
7029
- animationParams = input(DEFAULT_ANIMATION_PARAMS, { ...(ngDevMode ? { debugName: "animationParams" } : /* istanbul ignore next */ {}), ...this._animationParamsOptions });
7034
+ animationParams = input(DEFAULT_ANIMATION_PARAMS, { ...(ngDevMode ? { debugName: "animationParams" } : {}), ...this._animationParamsOptions });
7030
7035
  _overscrollEnabledOptions = {
7031
7036
  transform: (v) => {
7032
7037
  const valid = validateBoolean(v, true);
@@ -7040,7 +7045,7 @@ class NgVirtualListComponent {
7040
7045
  /**
7041
7046
  * Determines whether the overscroll (re-scroll) feature will work. The default value is "true".
7042
7047
  */
7043
- overscrollEnabled = input(DEFAULT_OVERSCROLL_ENABLED, { ...(ngDevMode ? { debugName: "overscrollEnabled" } : /* istanbul ignore next */ {}), ...this._overscrollEnabledOptions });
7048
+ overscrollEnabled = input(DEFAULT_OVERSCROLL_ENABLED, { ...(ngDevMode ? { debugName: "overscrollEnabled" } : {}), ...this._overscrollEnabledOptions });
7044
7049
  _enabledBufferOptimizationOptions = {
7045
7050
  transform: (v) => {
7046
7051
  const valid = validateBoolean(v);
@@ -7057,7 +7062,7 @@ class NgVirtualListComponent {
7057
7062
  * Can only be used if items in the collection are not added or updated. Otherwise, artifacts in the form of twitching of the scroll area are possible.
7058
7063
  * Works only if the property dynamic = true
7059
7064
  */
7060
- enabledBufferOptimization = input(DEFAULT_ENABLED_BUFFER_OPTIMIZATION, { ...(ngDevMode ? { debugName: "enabledBufferOptimization" } : /* istanbul ignore next */ {}), ...this._enabledBufferOptimizationOptions });
7065
+ enabledBufferOptimization = input(DEFAULT_ENABLED_BUFFER_OPTIMIZATION, { ...(ngDevMode ? { debugName: "enabledBufferOptimization" } : {}), ...this._enabledBufferOptimizationOptions });
7061
7066
  _itemRendererOptions = {
7062
7067
  transform: (v) => {
7063
7068
  let valid = validateObject(v);
@@ -7073,8 +7078,8 @@ class NgVirtualListComponent {
7073
7078
  /**
7074
7079
  * Rendering element template.
7075
7080
  */
7076
- itemRenderer = input.required({ ...(ngDevMode ? { debugName: "itemRenderer" } : /* istanbul ignore next */ {}), ...this._itemRendererOptions });
7077
- _itemRenderer = signal(undefined, ...(ngDevMode ? [{ debugName: "_itemRenderer" }] : /* istanbul ignore next */ []));
7081
+ itemRenderer = input.required({ ...(ngDevMode ? { debugName: "itemRenderer" } : {}), ...this._itemRendererOptions });
7082
+ _itemRenderer = signal(undefined, ...(ngDevMode ? [{ debugName: "_itemRenderer" }] : []));
7078
7083
  _itemConfigMapOptions = {
7079
7084
  transform: (v) => {
7080
7085
  let valid = validateObject(v);
@@ -7111,7 +7116,7 @@ class NgVirtualListComponent {
7111
7116
  * @author Evgenii Alexandrovich Grebennikov
7112
7117
  * @email djonnyx@gmail.com
7113
7118
  */
7114
- itemConfigMap = input({}, { ...(ngDevMode ? { debugName: "itemConfigMap" } : /* istanbul ignore next */ {}), ...this._itemConfigMapOptions });
7119
+ itemConfigMap = input({}, { ...(ngDevMode ? { debugName: "itemConfigMap" } : {}), ...this._itemConfigMapOptions });
7115
7120
  _itemSizeOptions = {
7116
7121
  transform: (v) => {
7117
7122
  const valid = validateFloat(v) || v === VIEWPORT;
@@ -7128,7 +7133,7 @@ class NgVirtualListComponent {
7128
7133
  * to adjust the sizes of the items in the unallocated area.
7129
7134
  * If the value is 'viewport', the sizes of elements are automatically resized to fit the viewport size.
7130
7135
  */
7131
- itemSize = input(DEFAULT_ITEM_SIZE, { ...(ngDevMode ? { debugName: "itemSize" } : /* istanbul ignore next */ {}), ...this._itemSizeOptions });
7136
+ itemSize = input(DEFAULT_ITEM_SIZE, { ...(ngDevMode ? { debugName: "itemSize" } : {}), ...this._itemSizeOptions });
7132
7137
  _minItemSizeOptions = {
7133
7138
  transform: (v) => {
7134
7139
  const valid = validateFloat(v) || v === VIEWPORT;
@@ -7143,7 +7148,7 @@ class NgVirtualListComponent {
7143
7148
  * If the `dynamicSize` property is enabled, the minimum size of the element is set.
7144
7149
  * If the value is 'viewport', the sizes of elements are automatically resized to fit the viewport size.
7145
7150
  */
7146
- minItemSize = input(DEFAULT_MIN_ITEM_SIZE, { ...(ngDevMode ? { debugName: "minItemSize" } : /* istanbul ignore next */ {}), ...this._minItemSizeOptions });
7151
+ minItemSize = input(DEFAULT_MIN_ITEM_SIZE, { ...(ngDevMode ? { debugName: "minItemSize" } : {}), ...this._minItemSizeOptions });
7147
7152
  _maxItemSizeOptions = {
7148
7153
  transform: (v) => {
7149
7154
  const valid = validateFloat(v) || v === VIEWPORT;
@@ -7158,7 +7163,7 @@ class NgVirtualListComponent {
7158
7163
  * If the `dynamicSize` property is enabled, the maximum size of the element is set.
7159
7164
  * If the value is 'viewport', the sizes of elements are automatically resized to fit the viewport size.
7160
7165
  */
7161
- maxItemSize = input(DEFAULT_MAX_ITEM_SIZE, { ...(ngDevMode ? { debugName: "maxItemSize" } : /* istanbul ignore next */ {}), ...this._maxItemSizeOptions });
7166
+ maxItemSize = input(DEFAULT_MAX_ITEM_SIZE, { ...(ngDevMode ? { debugName: "maxItemSize" } : {}), ...this._maxItemSizeOptions });
7162
7167
  _dynamicSizeOptions = {
7163
7168
  transform: (v) => {
7164
7169
  const valid = validateBoolean(v);
@@ -7174,7 +7179,7 @@ class NgVirtualListComponent {
7174
7179
  * the sizes of items in the unallocated area.
7175
7180
  * If false then the items in the list have a fixed size specified by the itemSize property. The default value is true.
7176
7181
  */
7177
- dynamicSize = input(DEFAULT_DYNAMIC_SIZE, { ...(ngDevMode ? { debugName: "dynamicSize" } : /* istanbul ignore next */ {}), ...this._dynamicSizeOptions });
7182
+ dynamicSize = input(DEFAULT_DYNAMIC_SIZE, { ...(ngDevMode ? { debugName: "dynamicSize" } : {}), ...this._dynamicSizeOptions });
7178
7183
  _directionOptions = {
7179
7184
  transform: (v) => {
7180
7185
  const valid = validateString(v) && (v === 'horizontal' || v === 'vertical');
@@ -7188,7 +7193,7 @@ class NgVirtualListComponent {
7188
7193
  /**
7189
7194
  * Determines the direction in which elements are placed. Default value is "vertical".
7190
7195
  */
7191
- direction = input(DEFAULT_DIRECTION, { ...(ngDevMode ? { debugName: "direction" } : /* istanbul ignore next */ {}), ...this._directionOptions });
7196
+ direction = input(DEFAULT_DIRECTION, { ...(ngDevMode ? { debugName: "direction" } : {}), ...this._directionOptions });
7192
7197
  _collectionModeOptions = {
7193
7198
  transform: (v) => {
7194
7199
  const valid = validateString(v) && (v === 'normal' || v === 'lazy');
@@ -7202,7 +7207,7 @@ class NgVirtualListComponent {
7202
7207
  /**
7203
7208
  * Determines the action modes for collection elements. Default value is "normal".
7204
7209
  */
7205
- collectionMode = input(DEFAULT_COLLECTION_MODE, { ...(ngDevMode ? { debugName: "collectionMode" } : /* istanbul ignore next */ {}), ...this._collectionModeOptions });
7210
+ collectionMode = input(DEFAULT_COLLECTION_MODE, { ...(ngDevMode ? { debugName: "collectionMode" } : {}), ...this._collectionModeOptions });
7206
7211
  _bufferSizeOptions = {
7207
7212
  transform: (v) => {
7208
7213
  const valid = validateInt(v);
@@ -7216,7 +7221,7 @@ class NgVirtualListComponent {
7216
7221
  /**
7217
7222
  * Number of elements outside the scope of visibility. Default value is 2.
7218
7223
  */
7219
- bufferSize = input(DEFAULT_BUFFER_SIZE, { ...(ngDevMode ? { debugName: "bufferSize" } : /* istanbul ignore next */ {}), ...this._bufferSizeOptions });
7224
+ bufferSize = input(DEFAULT_BUFFER_SIZE, { ...(ngDevMode ? { debugName: "bufferSize" } : {}), ...this._bufferSizeOptions });
7220
7225
  _maxBufferSizeTransform = {
7221
7226
  transform: (v) => {
7222
7227
  let val = v;
@@ -7237,7 +7242,7 @@ class NgVirtualListComponent {
7237
7242
  * If maxBufferSize is set to be greater than bufferSize, then adaptive buffer mode is enabled.
7238
7243
  * The greater the scroll size, the more elements are allocated for rendering.
7239
7244
  */
7240
- maxBufferSize = input(DEFAULT_MAX_BUFFER_SIZE, { ...(ngDevMode ? { debugName: "maxBufferSize" } : /* istanbul ignore next */ {}), ...this._maxBufferSizeTransform });
7245
+ maxBufferSize = input(DEFAULT_MAX_BUFFER_SIZE, { ...(ngDevMode ? { debugName: "maxBufferSize" } : {}), ...this._maxBufferSizeTransform });
7241
7246
  _snappingMethodOptions = {
7242
7247
  transform: (v) => {
7243
7248
  const valid = validateString(v) && (v === SnappingMethods.ADVANCED || v === SnappingMethods.STANDART);
@@ -7253,7 +7258,7 @@ class NgVirtualListComponent {
7253
7258
  * 'standart' - Classic group visualization.
7254
7259
  * 'advanced' - A mask is applied to the viewport area so that the background is displayed underneath the attached group.
7255
7260
  */
7256
- snappingMethod = input(DEFAULT_SNAPPING_METHOD, { ...(ngDevMode ? { debugName: "snappingMethod" } : /* istanbul ignore next */ {}), ...this._snappingMethodOptions });
7261
+ snappingMethod = input(DEFAULT_SNAPPING_METHOD, { ...(ngDevMode ? { debugName: "snappingMethod" } : {}), ...this._snappingMethodOptions });
7257
7262
  _collapsingModeOptions = {
7258
7263
  transform: (v) => {
7259
7264
  const valid = validateString(v) && (v === CollapsingModes.NONE || v === CollapsingModes.MULTI_COLLAPSE || v === CollapsingModes.ACCORDION);
@@ -7271,7 +7276,7 @@ class NgVirtualListComponent {
7271
7276
  * 'accordion' - Accordion collapsible list items.
7272
7277
  * Default value is `multi-collapse
7273
7278
  */
7274
- collapsingMode = input(DEFAULT_COLLAPSING_MODES, { ...(ngDevMode ? { debugName: "collapsingMode" } : /* istanbul ignore next */ {}), ...this._collapsingModeOptions });
7279
+ collapsingMode = input(DEFAULT_COLLAPSING_MODES, { ...(ngDevMode ? { debugName: "collapsingMode" } : {}), ...this._collapsingModeOptions });
7275
7280
  _methodForSelectingOptions = {
7276
7281
  transform: (v) => {
7277
7282
  throw new Error('The "methodForSelecting" property is deprecated. Use the "selectMode" property instead.');
@@ -7281,7 +7286,7 @@ class NgVirtualListComponent {
7281
7286
  * @deprecated
7282
7287
  * The "methodForSelecting" property is deprecated. Use the "selectMode" property.
7283
7288
  */
7284
- methodForSelecting = input(DEFAULT_SELECTING_MODES, { ...(ngDevMode ? { debugName: "methodForSelecting" } : /* istanbul ignore next */ {}), ...this._methodForSelectingOptions });
7289
+ methodForSelecting = input(DEFAULT_SELECTING_MODES, { ...(ngDevMode ? { debugName: "methodForSelecting" } : {}), ...this._methodForSelectingOptions });
7285
7290
  _selectingModeOptions = {
7286
7291
  transform: (v) => {
7287
7292
  const valid = validateString(v) && (v === 'none' || v === 'select' || v === 'multi-select');
@@ -7298,7 +7303,7 @@ class NgVirtualListComponent {
7298
7303
  * 'multi-select' - Multiple selection of list items.
7299
7304
  * 'none' - List items are not selectable.
7300
7305
  */
7301
- selectingMode = input(DEFAULT_SELECTING_MODES, { ...(ngDevMode ? { debugName: "selectingMode" } : /* istanbul ignore next */ {}), ...this._selectingModeOptions });
7306
+ selectingMode = input(DEFAULT_SELECTING_MODES, { ...(ngDevMode ? { debugName: "selectingMode" } : {}), ...this._selectingModeOptions });
7302
7307
  _trackByOptions = {
7303
7308
  transform: (v) => {
7304
7309
  const valid = validateString(v);
@@ -7312,7 +7317,7 @@ class NgVirtualListComponent {
7312
7317
  /**
7313
7318
  * The name of the property by which tracking is performed
7314
7319
  */
7315
- trackBy = input(TRACK_BY_PROPERTY_NAME, { ...(ngDevMode ? { debugName: "trackBy" } : /* istanbul ignore next */ {}), ...this._trackByOptions });
7320
+ trackBy = input(TRACK_BY_PROPERTY_NAME, { ...(ngDevMode ? { debugName: "trackBy" } : {}), ...this._trackByOptions });
7316
7321
  _screenReaderMessageOptions = {
7317
7322
  transform: (v) => {
7318
7323
  const valid = validateString(v);
@@ -7329,8 +7334,8 @@ class NgVirtualListComponent {
7329
7334
  * where $1 is the number of the first element of the screen collection,
7330
7335
  * $2 is the number of the last element of the screen collection.
7331
7336
  */
7332
- screenReaderMessage = input(DEFAULT_SCREEN_READER_MESSAGE, { ...(ngDevMode ? { debugName: "screenReaderMessage" } : /* istanbul ignore next */ {}), ...this._screenReaderMessageOptions });
7333
- screenReaderFormattedMessage = signal(this.screenReaderMessage(), ...(ngDevMode ? [{ debugName: "screenReaderFormattedMessage" }] : /* istanbul ignore next */ []));
7337
+ screenReaderMessage = input(DEFAULT_SCREEN_READER_MESSAGE, { ...(ngDevMode ? { debugName: "screenReaderMessage" } : {}), ...this._screenReaderMessageOptions });
7338
+ screenReaderFormattedMessage = signal(this.screenReaderMessage(), ...(ngDevMode ? [{ debugName: "screenReaderFormattedMessage" }] : []));
7334
7339
  _langTextDir = {
7335
7340
  transform: (v) => {
7336
7341
  const valid = validateString(v);
@@ -7345,7 +7350,7 @@ class NgVirtualListComponent {
7345
7350
  * A string indicating the direction of text for the locale.
7346
7351
  * Can be either "ltr" (left-to-right) or "rtl" (right-to-left).
7347
7352
  */
7348
- langTextDir = input(DEFAULT_LANG_TEXT_DIR, { ...(ngDevMode ? { debugName: "langTextDir" } : /* istanbul ignore next */ {}), ...this._langTextDir });
7353
+ langTextDir = input(DEFAULT_LANG_TEXT_DIR, { ...(ngDevMode ? { debugName: "langTextDir" } : {}), ...this._langTextDir });
7349
7354
  _isSingleSelection = this.getIsSingleSelection();
7350
7355
  _isMultiSelection = this.getIsMultiSelection();
7351
7356
  _isMultipleCollapse = this.getIsMultipleCollapse();
@@ -7356,36 +7361,36 @@ class NgVirtualListComponent {
7356
7361
  get isVertical() {
7357
7362
  return this._isVertical;
7358
7363
  }
7359
- focusedElement = signal(null, ...(ngDevMode ? [{ debugName: "focusedElement" }] : /* istanbul ignore next */ []));
7360
- classes = signal({}, ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
7361
- _actualItems = signal([], ...(ngDevMode ? [{ debugName: "_actualItems" }] : /* istanbul ignore next */ []));
7362
- _collapsedItemIds = signal([], ...(ngDevMode ? [{ debugName: "_collapsedItemIds" }] : /* istanbul ignore next */ []));
7364
+ focusedElement = signal(null, ...(ngDevMode ? [{ debugName: "focusedElement" }] : []));
7365
+ classes = signal({}, ...(ngDevMode ? [{ debugName: "classes" }] : []));
7366
+ _actualItems = signal([], ...(ngDevMode ? [{ debugName: "_actualItems" }] : []));
7367
+ _collapsedItemIds = signal([], ...(ngDevMode ? [{ debugName: "_collapsedItemIds" }] : []));
7363
7368
  _displayComponents = [];
7364
7369
  _snappedDisplayComponents = [];
7365
- _bounds = signal(null, ...(ngDevMode ? [{ debugName: "_bounds" }] : /* istanbul ignore next */ []));
7370
+ _bounds = signal(null, ...(ngDevMode ? [{ debugName: "_bounds" }] : []));
7366
7371
  get bounds() { return this._bounds; }
7367
7372
  _actualScrollbarEnabled;
7368
7373
  _actualAlignment;
7369
7374
  get actualAlignment() { return this._actualAlignment; }
7370
- _actualItemSize = signal(DEFAULT_ITEM_SIZE, ...(ngDevMode ? [{ debugName: "_actualItemSize" }] : /* istanbul ignore next */ []));
7375
+ _actualItemSize = signal(DEFAULT_ITEM_SIZE, ...(ngDevMode ? [{ debugName: "_actualItemSize" }] : []));
7371
7376
  get actualItemSize() { return this._actualItemSize; }
7372
- _actualMinItemSize = signal(DEFAULT_MIN_ITEM_SIZE, ...(ngDevMode ? [{ debugName: "_actualMinItemSize" }] : /* istanbul ignore next */ []));
7377
+ _actualMinItemSize = signal(DEFAULT_MIN_ITEM_SIZE, ...(ngDevMode ? [{ debugName: "_actualMinItemSize" }] : []));
7373
7378
  get actualMinItemSize() { return this._actualMinItemSize; }
7374
- _actualMaxItemSize = signal(DEFAULT_MAX_ITEM_SIZE, ...(ngDevMode ? [{ debugName: "_actualMaxItemSize" }] : /* istanbul ignore next */ []));
7379
+ _actualMaxItemSize = signal(DEFAULT_MAX_ITEM_SIZE, ...(ngDevMode ? [{ debugName: "_actualMaxItemSize" }] : []));
7375
7380
  get actualMaxItemSize() { return this._actualMaxItemSize; }
7376
- _totalSize = signal(0, ...(ngDevMode ? [{ debugName: "_totalSize" }] : /* istanbul ignore next */ []));
7377
- _listBounds = signal(null, ...(ngDevMode ? [{ debugName: "_listBounds" }] : /* istanbul ignore next */ []));
7381
+ _totalSize = signal(0, ...(ngDevMode ? [{ debugName: "_totalSize" }] : []));
7382
+ _listBounds = signal(null, ...(ngDevMode ? [{ debugName: "_listBounds" }] : []));
7378
7383
  _$scrollSize = new BehaviorSubject(0);
7379
- _isScrollStart = signal(true, ...(ngDevMode ? [{ debugName: "_isScrollStart" }] : /* istanbul ignore next */ []));
7380
- _isScrollEnd = signal(false, ...(ngDevMode ? [{ debugName: "_isScrollEnd" }] : /* istanbul ignore next */ []));
7381
- _precalculatedScrollStartOffset = signal(0, ...(ngDevMode ? [{ debugName: "_precalculatedScrollStartOffset" }] : /* istanbul ignore next */ []));
7382
- _precalculatedScrollEndOffset = signal(0, ...(ngDevMode ? [{ debugName: "_precalculatedScrollEndOffset" }] : /* istanbul ignore next */ []));
7383
- _actualScrollStartOffset = signal(0, ...(ngDevMode ? [{ debugName: "_actualScrollStartOffset" }] : /* istanbul ignore next */ []));
7384
- _actualScrollEndOffset = signal(0, ...(ngDevMode ? [{ debugName: "_actualScrollEndOffset" }] : /* istanbul ignore next */ []));
7384
+ _isScrollStart = signal(true, ...(ngDevMode ? [{ debugName: "_isScrollStart" }] : []));
7385
+ _isScrollEnd = signal(false, ...(ngDevMode ? [{ debugName: "_isScrollEnd" }] : []));
7386
+ _precalculatedScrollStartOffset = signal(0, ...(ngDevMode ? [{ debugName: "_precalculatedScrollStartOffset" }] : []));
7387
+ _precalculatedScrollEndOffset = signal(0, ...(ngDevMode ? [{ debugName: "_precalculatedScrollEndOffset" }] : []));
7388
+ _actualScrollStartOffset = signal(0, ...(ngDevMode ? [{ debugName: "_actualScrollStartOffset" }] : []));
7389
+ _actualScrollEndOffset = signal(0, ...(ngDevMode ? [{ debugName: "_actualScrollEndOffset" }] : []));
7385
7390
  _actualSnapScrollToStart;
7386
7391
  _actualSnapScrollToEnd;
7387
- _alignmentScrollStartOffset = signal(0, ...(ngDevMode ? [{ debugName: "_alignmentScrollStartOffset" }] : /* istanbul ignore next */ []));
7388
- _alignmentScrollEndOffset = signal(0, ...(ngDevMode ? [{ debugName: "_alignmentScrollEndOffset" }] : /* istanbul ignore next */ []));
7392
+ _alignmentScrollStartOffset = signal(0, ...(ngDevMode ? [{ debugName: "_alignmentScrollStartOffset" }] : []));
7393
+ _alignmentScrollEndOffset = signal(0, ...(ngDevMode ? [{ debugName: "_alignmentScrollEndOffset" }] : []));
7389
7394
  _resizeSnappedComponentHandler = () => {
7390
7395
  const list = this._list(), scroller = this._scroller(), bounds = this._bounds(), snappedComponents = this._snappedDisplayComponents;
7391
7396
  if (!!list && !!scroller && snappedComponents.length > 0) {
@@ -7524,7 +7529,7 @@ class NgVirtualListComponent {
7524
7529
  this._isInfinity = computed(() => {
7525
7530
  const mode = this.spreadingMode();
7526
7531
  return isSpreadingMode(mode, SpreadingModes.INFINITY);
7527
- }, ...(ngDevMode ? [{ debugName: "_isInfinity" }] : /* istanbul ignore next */ []));
7532
+ }, ...(ngDevMode ? [{ debugName: "_isInfinity" }] : []));
7528
7533
  const $isInfinity = toObservable(this._isInfinity);
7529
7534
  $isInfinity.pipe(takeUntilDestroyed(), tap(v => {
7530
7535
  this._trackBox.isInfinity = this._service.isInfinity = v;
@@ -7603,10 +7608,10 @@ class NgVirtualListComponent {
7603
7608
  const $actualItemSize = toObservable(this._actualItemSize), $actualItems = toObservable(this._actualItems).pipe(takeUntilDestroyed(), distinctUntilChanged());
7604
7609
  this._scroller = computed(() => {
7605
7610
  return this._scrollerComponent()?.scrollViewport();
7606
- }, ...(ngDevMode ? [{ debugName: "_scroller" }] : /* istanbul ignore next */ []));
7611
+ }, ...(ngDevMode ? [{ debugName: "_scroller" }] : []));
7607
7612
  this._list = computed(() => {
7608
7613
  return this._scrollerComponent()?.scrollContent();
7609
- }, ...(ngDevMode ? [{ debugName: "_list" }] : /* istanbul ignore next */ []));
7614
+ }, ...(ngDevMode ? [{ debugName: "_list" }] : []));
7610
7615
  this._service.$focusItem.pipe(takeUntilDestroyed(this._destroyRef), tap(params => {
7611
7616
  const { element, position, align, behavior } = params;
7612
7617
  this.focusItem(element, position, align, behavior);
@@ -7685,11 +7690,11 @@ class NgVirtualListComponent {
7685
7690
  this._actualSnapScrollToStart = computed(() => {
7686
7691
  const snapScrollToStart = this.snapScrollToStart(), spreadingMode = this.spreadingMode(), isInfinity = isSpreadingMode(spreadingMode, SpreadingModes.INFINITY);
7687
7692
  return isInfinity ? false : snapScrollToStart;
7688
- }, ...(ngDevMode ? [{ debugName: "_actualSnapScrollToStart" }] : /* istanbul ignore next */ []));
7693
+ }, ...(ngDevMode ? [{ debugName: "_actualSnapScrollToStart" }] : []));
7689
7694
  this._actualSnapScrollToEnd = computed(() => {
7690
7695
  const snapScrollToEnd = this.snapScrollToEnd(), spreadingMode = this.spreadingMode(), isInfinity = isSpreadingMode(spreadingMode, SpreadingModes.INFINITY);
7691
7696
  return isInfinity ? false : snapScrollToEnd;
7692
- }, ...(ngDevMode ? [{ debugName: "_actualSnapScrollToEnd" }] : /* istanbul ignore next */ []));
7697
+ }, ...(ngDevMode ? [{ debugName: "_actualSnapScrollToEnd" }] : []));
7693
7698
  const $viewInit = this.$viewInit, $prerenderContainer = toObservable(this._prerender);
7694
7699
  const $prerender = $viewInit.pipe(takeUntilDestroyed(), filter$1(v => !!v), switchMap$1(v => {
7695
7700
  return $prerenderContainer.pipe(takeUntilDestroyed(this._destroyRef), filter$1(v => !!v), switchMap$1(v => v.$render));
@@ -7919,11 +7924,11 @@ class NgVirtualListComponent {
7919
7924
  this._actualAlignment = computed(() => {
7920
7925
  const alignment = this.alignment(), spreadingMode = this.spreadingMode();
7921
7926
  return isSpreadingMode(spreadingMode, SpreadingModes.INFINITY) ? Alignments.CENTER : alignment;
7922
- }, ...(ngDevMode ? [{ debugName: "_actualAlignment" }] : /* istanbul ignore next */ []));
7927
+ }, ...(ngDevMode ? [{ debugName: "_actualAlignment" }] : []));
7923
7928
  this._actualScrollbarEnabled = computed(() => {
7924
7929
  const scrollbarEnabled = this.scrollbarEnabled(), spreadingMode = this.spreadingMode();
7925
7930
  return isSpreadingMode(spreadingMode, SpreadingModes.INFINITY) ? false : scrollbarEnabled;
7926
- }, ...(ngDevMode ? [{ debugName: "_actualScrollbarEnabled" }] : /* istanbul ignore next */ []));
7931
+ }, ...(ngDevMode ? [{ debugName: "_actualScrollbarEnabled" }] : []));
7927
7932
  const $alignment = toObservable(this._actualAlignment), $precalculatedScrollStartOffset = toObservable(this._precalculatedScrollStartOffset), $precalculatedScrollEndOffset = toObservable(this._precalculatedScrollEndOffset), $listBounds = toObservable(this._listBounds).pipe(filter$1(b => !!b)), $scrollSize = this._$scrollSize.asObservable(), $bufferSize = toObservable(this.bufferSize).pipe(map(v => v < 0 ? DEFAULT_BUFFER_SIZE : v)), $maxBufferSize = toObservable(this.maxBufferSize).pipe(map(v => v < 0 ? DEFAULT_BUFFER_SIZE : v)), $snapToItem = toObservable(this.snapToItem), $snapToItemAlign = toObservable(this.snapToItemAlign), $stickyEnabled = toObservable(this.stickyEnabled), $isLazy = toObservable(this.collectionMode).pipe(map(v => this.getIsLazy(v || DEFAULT_COLLECTION_MODE))), $enabledBufferOptimization = toObservable(this.enabledBufferOptimization), $snappingMethod = toObservable(this.snappingMethod).pipe(map(v => this.getIsSnappingMethodAdvanced(v || DEFAULT_SNAPPING_METHOD))), $collapsingMode = toObservable(this.collapsingMode), $selectingMode = toObservable(this.selectingMode), $selectedIds = toObservable(this.selectedIds), $collapsedIds = toObservable(this.collapsedIds).pipe(distinctUntilChanged(), map(v => Array.isArray(v) ? v : [])), $collapsedItemIds = toObservable(this._collapsedItemIds).pipe(distinctUntilChanged(), map(v => Array.isArray(v) ? v : [])), $itemTransform = toObservable(this.itemTransform), $screenReaderMessage = toObservable(this.screenReaderMessage), $displayItems = this._service.$displayItems, $cacheVersion = this._service.$cacheVersion;
7928
7933
  $snapToItem.pipe(takeUntilDestroyed(), tap(v => {
7929
7934
  this._service.snapToItem = v;
@@ -8090,7 +8095,7 @@ class NgVirtualListComponent {
8090
8095
  this._isLoading = false;
8091
8096
  })).subscribe();
8092
8097
  const update = (params) => {
8093
- const { alignment, precalculatedScrollStartOffset, precalculatedScrollEndOffset, trackBy, isInfinity, snapScrollToStart, snapScrollToEnd, bounds, listBounds, scrollEndOffset, items, itemConfigMap, scrollSize, itemSize, minItemSize, maxItemSize, divides, bufferSize, maxBufferSize, stickyEnabled, isVertical, dynamicSize, enabledBufferOptimization, snapToItem, snapToItemAlign, cacheVersion, userAction, collapsedIds, itemTransform, } = params;
8098
+ const { alignment, snapScrollToStart, snapScrollToEnd, bounds, items, itemConfigMap, scrollSize, itemSize, minItemSize, maxItemSize, bufferSize, maxBufferSize, stickyEnabled, isVertical, dynamicSize, enabledBufferOptimization, snapToItem, snapToItemAlign, userAction, collapsedIds, itemTransform, } = params;
8094
8099
  const scroller = this._scrollerComponent();
8095
8100
  let totalSize = 0;
8096
8101
  if (!!scroller) {
@@ -8100,7 +8105,7 @@ class NgVirtualListComponent {
8100
8105
  let actualScrollSize = !this._readyForShow && snapScrollToEnd ? (isVertical ? scroller.scrollHeight : scroller.scrollWidth) :
8101
8106
  (isVertical ? scroller.scrollTop : scroller.scrollLeft), leftLayoutOffset = 0, displayItems;
8102
8107
  const { width, height } = bounds, viewportSize = (isVertical ? height : width), opts = {
8103
- bounds: { width, height }, dynamicSize, isVertical, itemSize, minItemSize, maxItemSize, bufferSize, maxBufferSize,
8108
+ alignment, bounds: { width, height }, dynamicSize, isVertical, itemSize, minItemSize, maxItemSize, bufferSize, maxBufferSize,
8104
8109
  scrollSize: actualScrollSize, stickyEnabled, enabledBufferOptimization, snapToItem, snapToItemAlign, itemTransform,
8105
8110
  };
8106
8111
  if (snapScrollToEnd && !this._readyForShow) {
@@ -8108,12 +8113,24 @@ class NgVirtualListComponent {
8108
8113
  displayItems = calculatedDisplayItems;
8109
8114
  totalSize = calculatedTotalSize1;
8110
8115
  leftLayoutOffset = leftLayoutOffset1;
8116
+ if (!!itemTransform && dynamicSize && this._trackBox.delta !== 0) {
8117
+ const { displayItems: calculatedDisplayItems, totalSize: calculatedTotalSize1, leftLayoutOffset: leftLayoutOffset1 } = this._trackBox.updateCollection(items, itemConfigMap, { ...opts, scrollSize: actualScrollSize + this._trackBox.delta });
8118
+ displayItems = calculatedDisplayItems;
8119
+ totalSize = calculatedTotalSize1;
8120
+ leftLayoutOffset = leftLayoutOffset1;
8121
+ }
8111
8122
  }
8112
8123
  else {
8113
8124
  const { displayItems: calculatedDisplayItems, totalSize: calculatedTotalSize, leftLayoutOffset: leftLayoutOffset1 } = this._trackBox.updateCollection(items, itemConfigMap, opts);
8114
8125
  displayItems = calculatedDisplayItems;
8115
8126
  totalSize = calculatedTotalSize;
8116
8127
  leftLayoutOffset = leftLayoutOffset1;
8128
+ if (!!itemTransform && dynamicSize && this._trackBox.delta !== 0) {
8129
+ const { displayItems: calculatedDisplayItems, totalSize: calculatedTotalSize, leftLayoutOffset: leftLayoutOffset1 } = this._trackBox.updateCollection(items, itemConfigMap, { ...opts, scrollSize: actualScrollSize + this._trackBox.delta });
8130
+ displayItems = calculatedDisplayItems;
8131
+ totalSize = calculatedTotalSize;
8132
+ leftLayoutOffset = leftLayoutOffset1;
8133
+ }
8117
8134
  }
8118
8135
  scroller.totalSize = totalSize;
8119
8136
  scroller.startLayoutOffset = leftLayoutOffset;
@@ -8130,23 +8147,7 @@ class NgVirtualListComponent {
8130
8147
  if (this._isSnappingMethodAdvanced) {
8131
8148
  this.updateRegularRenderer();
8132
8149
  }
8133
- switch (alignment) {
8134
- case Alignments.NONE: {
8135
- this._actualScrollStartOffset.set(precalculatedScrollStartOffset);
8136
- this._actualScrollEndOffset.set(precalculatedScrollEndOffset);
8137
- break;
8138
- }
8139
- case Alignments.CENTER: {
8140
- const firstItemId = items.length > 0 ? (items[0]?.[trackBy] ?? null) : null, endItemId = items.length > 0 ? (items?.[items.length - 1]?.[trackBy] ?? null) : null, alignmentStartOffset = viewportSize * .5 - (firstItemId !== null ? (isVertical ? (this._service.getItemBounds(firstItemId)?.height ?? 0) :
8141
- (this._service.getItemBounds(firstItemId)?.width ?? 0)) : 0) * (isInfinity ? 0 : .5), alignmentEndOffset = viewportSize * .5 - (endItemId !== null ? (isVertical ? (this._service.getItemBounds(endItemId)?.height ?? 0) :
8142
- (this._service.getItemBounds(endItemId)?.width ?? 0)) : 0) * (isInfinity ? 0 : .5);
8143
- this._alignmentScrollStartOffset.set(alignmentStartOffset);
8144
- this._alignmentScrollEndOffset.set(alignmentEndOffset);
8145
- this._actualScrollStartOffset.set(precalculatedScrollStartOffset + alignmentStartOffset);
8146
- this._actualScrollEndOffset.set(precalculatedScrollEndOffset + alignmentEndOffset);
8147
- break;
8148
- }
8149
- }
8150
+ this.updateOffsetsByAllignment();
8150
8151
  scroller.delta = delta;
8151
8152
  if ((snapScrollToStart && this._trackBox.isSnappedToStart && scroller.scrollable) ||
8152
8153
  (snapScrollToStart && currentScrollSize <= MIN_PIXELS_FOR_PREVENT_SNAPPING)) {
@@ -8325,6 +8326,7 @@ class NgVirtualListComponent {
8325
8326
  const dynamicSize = this.dynamicSize(), itemSize = this._actualItemSize(), minItemSize = this._actualMinItemSize(), maxItemSize = this._actualMaxItemSize(), snapScrollToEnd = this.snapScrollToEnd();
8326
8327
  if (dynamicSize) {
8327
8328
  const { width, height } = this._bounds() || { width: DEFAULT_LIST_SIZE, height: DEFAULT_LIST_SIZE }, itemConfigMap = this.itemConfigMap(), isVertical = this._isVertical, currentScrollSize = isVertical ? scrollerComponent.scrollTop : scrollerComponent.scrollLeft, opts = {
8329
+ alignment: this.actualAlignment(),
8328
8330
  bounds: { width, height }, collection: items, dynamicSize, isVertical: this._isVertical, itemSize, minItemSize, maxItemSize,
8329
8331
  bufferSize: this.bufferSize(), maxBufferSize: this.maxBufferSize(), itemTransform: this.itemTransform(),
8330
8332
  scrollSize: (isVertical ? scrollerComponent.scrollTop : scrollerComponent.scrollLeft),
@@ -8350,21 +8352,8 @@ class NgVirtualListComponent {
8350
8352
  this.createDisplayComponentsIfNeed(displayItems);
8351
8353
  this.tracking();
8352
8354
  this.snappingHandler();
8355
+ this.updateOffsetsByAllignment();
8353
8356
  scrollSize = this._trackBox.getItemPosition(id, itemConfigMap, { ...opts, scrollSize: actualScrollSize, fromItemId: id });
8354
- if (this._isInfinity()) {
8355
- if (this.snapToItem()) {
8356
- const itemBounds = this._trackBox.getItemBounds(id);
8357
- if (!!itemBounds) {
8358
- const itemSize = isVertical ? itemBounds.height : itemBounds.width;
8359
- switch (this.snapToItemAlign()) {
8360
- case SnapToItemAligns.CENTER: {
8361
- scrollSize += itemSize * .5;
8362
- break;
8363
- }
8364
- }
8365
- }
8366
- }
8367
- }
8368
8357
  if (scrollSize === -1) {
8369
8358
  return of([finished, { id, blending, iteration: nextIteration, cb }]).pipe(delay(0));
8370
8359
  }
@@ -8389,11 +8378,11 @@ class NgVirtualListComponent {
8389
8378
  else {
8390
8379
  const index = items.findIndex(item => item[trackBy] === id);
8391
8380
  if (index > -1) {
8392
- const isVertical = this._isVertical, itemSize = this._actualItemSize();
8381
+ const isVertical = this._isVertical, itemSize = this._actualItemSize(), isInfinity = this._isInfinity(), snapToItem = this.snapToItem(), snapToItemAlign = this.snapToItemAlign();
8393
8382
  let scrollSize = index * itemSize;
8394
- if (this._isInfinity()) {
8395
- if (this.snapToItem()) {
8396
- switch (this.snapToItemAlign()) {
8383
+ if (isInfinity) {
8384
+ if (snapToItem) {
8385
+ switch (snapToItemAlign) {
8397
8386
  case SnapToItemAligns.CENTER: {
8398
8387
  scrollSize += itemSize * .5;
8399
8388
  break;
@@ -8402,11 +8391,12 @@ class NgVirtualListComponent {
8402
8391
  }
8403
8392
  }
8404
8393
  const { width, height } = this._bounds() || { width: DEFAULT_LIST_SIZE, height: DEFAULT_LIST_SIZE }, itemConfigMap = this.itemConfigMap(), items = this._actualItems(), opts = {
8394
+ alignment: this._actualAlignment(),
8405
8395
  bounds: { width, height }, collection: items, dynamicSize, isVertical: this._isVertical, itemSize, minItemSize, maxItemSize,
8406
8396
  bufferSize: this.bufferSize(), maxBufferSize: this.maxBufferSize(), itemTransform: this.itemTransform(),
8407
8397
  scrollSize: (isVertical ? scrollerComponent.scrollTop : scrollerComponent.scrollLeft),
8408
- snapToItem: this.snapToItem(), snapToItemAlign: this.snapToItemAlign(),
8409
- stickyEnabled: this.stickyEnabled(), fromItemId: id, enabledBufferOptimization: this.enabledBufferOptimization(),
8398
+ snapToItem, snapToItemAlign, stickyEnabled: this.stickyEnabled(), fromItemId: id,
8399
+ enabledBufferOptimization: this.enabledBufferOptimization(),
8410
8400
  };
8411
8401
  this._trackBox.clearDelta();
8412
8402
  const viewportSize = (isVertical ? height : width), { displayItems, totalSize, leftLayoutOffset } = this._trackBox.updateCollection(items, itemConfigMap, {
@@ -8421,6 +8411,7 @@ class NgVirtualListComponent {
8421
8411
  this.createDisplayComponentsIfNeed(displayItems);
8422
8412
  this.tracking();
8423
8413
  this.snappingHandler();
8414
+ this.updateOffsetsByAllignment();
8424
8415
  this._$preventScrollSnapping.next(true);
8425
8416
  const params = {
8426
8417
  [this._isVertical ? TOP_PROP_NAME : LEFT_PROP_NAME]: scrollSize, fireUpdate: false,
@@ -8447,7 +8438,7 @@ class NgVirtualListComponent {
8447
8438
  this.emitScrollEvent(true, false, true);
8448
8439
  const scrollParams = params;
8449
8440
  scrollParams?.cb?.();
8450
- }), delay(100), tap(([finished]) => {
8441
+ }), delay(0), tap(([finished]) => {
8451
8442
  if (finished) {
8452
8443
  this._scrollerComponent()?.snapIfNeed();
8453
8444
  }
@@ -8488,6 +8479,14 @@ class NgVirtualListComponent {
8488
8479
  }
8489
8480
  }));
8490
8481
  })).subscribe();
8482
+ combineLatest([$itemConfigMap, $dynamicSize, $divides]).pipe(takeUntilDestroyed(), filter$1(([itemConfigMap, dynamicSize, divides]) => !!itemConfigMap && !dynamicSize && divides > 1), tap(([itemConfigMap]) => {
8483
+ for (const id in itemConfigMap) {
8484
+ const metaData = itemConfigMap[id];
8485
+ if (metaData?.fullSize || metaData?.sticky === 1 || metaData?.sticky === 2) {
8486
+ throw Error('The accelerated rendering algorithm `[dynamicSize]="false"` cannot correctly handle non-uniform lists (the itemConfigMap specifies full-size elements). For correct rendering, specify `[dynamicSize]="true"`.');
8487
+ }
8488
+ }
8489
+ })).subscribe();
8491
8490
  combineLatest([$collapsingMode, $items, $itemConfigMap, $trackBy]).pipe(takeUntilDestroyed(), tap(([collapsingMode, items, itemConfigMap, trackBy]) => {
8492
8491
  const isAccordion = isCollapseMode(collapsingMode, CollapsingModes.ACCORDION);
8493
8492
  if (isAccordion) {
@@ -8691,6 +8690,26 @@ class NgVirtualListComponent {
8691
8690
  this._trackBox.setDisplayObjectIndexMapById(doMap);
8692
8691
  }
8693
8692
  }
8693
+ updateOffsetsByAllignment() {
8694
+ const alignment = this._actualAlignment(), items = this._actualItems(), trackBy = this.trackBy(), isInfinity = this._isInfinity(), isVertical = this._isVertical, { width, height } = this._bounds() || { width: DEFAULT_LIST_SIZE, height: DEFAULT_LIST_SIZE }, viewportSize = isVertical ? height : width, precalculatedScrollStartOffset = this._precalculatedScrollStartOffset(), precalculatedScrollEndOffset = this._precalculatedScrollEndOffset();
8695
+ switch (alignment) {
8696
+ case Alignments.NONE: {
8697
+ this._actualScrollStartOffset.set(precalculatedScrollStartOffset);
8698
+ this._actualScrollEndOffset.set(precalculatedScrollEndOffset);
8699
+ break;
8700
+ }
8701
+ case Alignments.CENTER: {
8702
+ const firstItemId = items.length > 0 ? (items[0]?.[trackBy] ?? null) : null, endItemId = items.length > 0 ? (items?.[items.length - 1]?.[trackBy] ?? null) : null, alignmentStartOffset = viewportSize * .5 - (firstItemId !== null ? (isVertical ? (this._service.getItemBounds(firstItemId)?.height ?? 0) :
8703
+ (this._service.getItemBounds(firstItemId)?.width ?? 0)) : 0) * (isInfinity ? 0 : .5), alignmentEndOffset = viewportSize * .5 - (endItemId !== null ? (isVertical ? (this._service.getItemBounds(endItemId)?.height ?? 0) :
8704
+ (this._service.getItemBounds(endItemId)?.width ?? 0)) : 0) * (isInfinity ? 0 : .5);
8705
+ this._alignmentScrollStartOffset.set(alignmentStartOffset);
8706
+ this._alignmentScrollEndOffset.set(alignmentEndOffset);
8707
+ this._actualScrollStartOffset.set(precalculatedScrollStartOffset + alignmentStartOffset);
8708
+ this._actualScrollEndOffset.set(precalculatedScrollEndOffset + alignmentEndOffset);
8709
+ break;
8710
+ }
8711
+ }
8712
+ }
8694
8713
  updateRegularRenderer() {
8695
8714
  this._resizeSnappedComponentHandler();
8696
8715
  }
@@ -8901,10 +8920,10 @@ class NgVirtualListComponent {
8901
8920
  }
8902
8921
  }
8903
8922
  }
8904
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8905
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: NgVirtualListComponent, isStandalone: false, selector: "ng-virtual-list", inputs: { scrollbarThickness: { classPropertyName: "scrollbarThickness", publicName: "scrollbarThickness", isSignal: true, isRequired: false, transformFunction: null }, scrollbarMinSize: { classPropertyName: "scrollbarMinSize", publicName: "scrollbarMinSize", isSignal: true, isRequired: false, transformFunction: null }, scrollbarThumbRenderer: { classPropertyName: "scrollbarThumbRenderer", publicName: "scrollbarThumbRenderer", isSignal: true, isRequired: false, transformFunction: null }, scrollbarThumbParams: { classPropertyName: "scrollbarThumbParams", publicName: "scrollbarThumbParams", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, waitForPreparation: { classPropertyName: "waitForPreparation", publicName: "waitForPreparation", isSignal: true, isRequired: false, transformFunction: null }, clickDistance: { classPropertyName: "clickDistance", publicName: "clickDistance", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, defaultItemValue: { classPropertyName: "defaultItemValue", publicName: "defaultItemValue", isSignal: true, isRequired: false, transformFunction: null }, selectedIds: { classPropertyName: "selectedIds", publicName: "selectedIds", isSignal: true, isRequired: false, transformFunction: null }, collapsedIds: { classPropertyName: "collapsedIds", publicName: "collapsedIds", isSignal: true, isRequired: false, transformFunction: null }, selectByClick: { classPropertyName: "selectByClick", publicName: "selectByClick", isSignal: true, isRequired: false, transformFunction: null }, collapseByClick: { classPropertyName: "collapseByClick", publicName: "collapseByClick", isSignal: true, isRequired: false, transformFunction: null }, snap: { classPropertyName: "snap", publicName: "snap", isSignal: true, isRequired: false, transformFunction: null }, stickyEnabled: { classPropertyName: "stickyEnabled", publicName: "stickyEnabled", isSignal: true, isRequired: false, transformFunction: null }, snapToEndTransitionInstantOffset: { classPropertyName: "snapToEndTransitionInstantOffset", publicName: "snapToEndTransitionInstantOffset", isSignal: true, isRequired: false, transformFunction: null }, scrollStartOffset: { classPropertyName: "scrollStartOffset", publicName: "scrollStartOffset", isSignal: true, isRequired: false, transformFunction: null }, scrollEndOffset: { classPropertyName: "scrollEndOffset", publicName: "scrollEndOffset", isSignal: true, isRequired: false, transformFunction: null }, snapScrollToStart: { classPropertyName: "snapScrollToStart", publicName: "snapScrollToStart", isSignal: true, isRequired: false, transformFunction: null }, snapScrollToEnd: { classPropertyName: "snapScrollToEnd", publicName: "snapScrollToEnd", isSignal: true, isRequired: false, transformFunction: null }, snapScrollToBottom: { classPropertyName: "snapScrollToBottom", publicName: "snapScrollToBottom", isSignal: true, isRequired: false, transformFunction: null }, scrollbarEnabled: { classPropertyName: "scrollbarEnabled", publicName: "scrollbarEnabled", isSignal: true, isRequired: false, transformFunction: null }, scrollbarInteractive: { classPropertyName: "scrollbarInteractive", publicName: "scrollbarInteractive", isSignal: true, isRequired: false, transformFunction: null }, overlappingScrollbar: { classPropertyName: "overlappingScrollbar", publicName: "overlappingScrollbar", isSignal: true, isRequired: false, transformFunction: null }, scrollBehavior: { classPropertyName: "scrollBehavior", publicName: "scrollBehavior", isSignal: true, isRequired: false, transformFunction: null }, scrollingSettings: { classPropertyName: "scrollingSettings", publicName: "scrollingSettings", isSignal: true, isRequired: false, transformFunction: null }, itemTransform: { classPropertyName: "itemTransform", publicName: "itemTransform", isSignal: true, isRequired: false, transformFunction: null }, snapToItem: { classPropertyName: "snapToItem", publicName: "snapToItem", isSignal: true, isRequired: false, transformFunction: null }, snapToItemAlign: { classPropertyName: "snapToItemAlign", publicName: "snapToItemAlign", isSignal: true, isRequired: false, transformFunction: null }, snappingDistance: { classPropertyName: "snappingDistance", publicName: "snappingDistance", isSignal: true, isRequired: false, transformFunction: null }, scrollingOneByOne: { classPropertyName: "scrollingOneByOne", publicName: "scrollingOneByOne", isSignal: true, isRequired: false, transformFunction: null }, alignment: { classPropertyName: "alignment", publicName: "alignment", isSignal: true, isRequired: false, transformFunction: null }, zIndexWhenSelecting: { classPropertyName: "zIndexWhenSelecting", publicName: "zIndexWhenSelecting", isSignal: true, isRequired: false, transformFunction: null }, spreadingMode: { classPropertyName: "spreadingMode", publicName: "spreadingMode", isSignal: true, isRequired: false, transformFunction: null }, divides: { classPropertyName: "divides", publicName: "divides", isSignal: true, isRequired: false, transformFunction: null }, motionBlur: { classPropertyName: "motionBlur", publicName: "motionBlur", isSignal: true, isRequired: false, transformFunction: null }, maxMotionBlur: { classPropertyName: "maxMotionBlur", publicName: "maxMotionBlur", isSignal: true, isRequired: false, transformFunction: null }, motionBlurEnabled: { classPropertyName: "motionBlurEnabled", publicName: "motionBlurEnabled", isSignal: true, isRequired: false, transformFunction: null }, animationParams: { classPropertyName: "animationParams", publicName: "animationParams", isSignal: true, isRequired: false, transformFunction: null }, overscrollEnabled: { classPropertyName: "overscrollEnabled", publicName: "overscrollEnabled", isSignal: true, isRequired: false, transformFunction: null }, enabledBufferOptimization: { classPropertyName: "enabledBufferOptimization", publicName: "enabledBufferOptimization", isSignal: true, isRequired: false, transformFunction: null }, itemRenderer: { classPropertyName: "itemRenderer", publicName: "itemRenderer", isSignal: true, isRequired: true, transformFunction: null }, itemConfigMap: { classPropertyName: "itemConfigMap", publicName: "itemConfigMap", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, minItemSize: { classPropertyName: "minItemSize", publicName: "minItemSize", isSignal: true, isRequired: false, transformFunction: null }, maxItemSize: { classPropertyName: "maxItemSize", publicName: "maxItemSize", isSignal: true, isRequired: false, transformFunction: null }, dynamicSize: { classPropertyName: "dynamicSize", publicName: "dynamicSize", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, collectionMode: { classPropertyName: "collectionMode", publicName: "collectionMode", isSignal: true, isRequired: false, transformFunction: null }, bufferSize: { classPropertyName: "bufferSize", publicName: "bufferSize", isSignal: true, isRequired: false, transformFunction: null }, maxBufferSize: { classPropertyName: "maxBufferSize", publicName: "maxBufferSize", isSignal: true, isRequired: false, transformFunction: null }, snappingMethod: { classPropertyName: "snappingMethod", publicName: "snappingMethod", isSignal: true, isRequired: false, transformFunction: null }, collapsingMode: { classPropertyName: "collapsingMode", publicName: "collapsingMode", isSignal: true, isRequired: false, transformFunction: null }, methodForSelecting: { classPropertyName: "methodForSelecting", publicName: "methodForSelecting", isSignal: true, isRequired: false, transformFunction: null }, selectingMode: { classPropertyName: "selectingMode", publicName: "selectingMode", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: true, isRequired: false, transformFunction: null }, screenReaderMessage: { classPropertyName: "screenReaderMessage", publicName: "screenReaderMessage", isSignal: true, isRequired: false, transformFunction: null }, langTextDir: { classPropertyName: "langTextDir", publicName: "langTextDir", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onScroll: "onScroll", onScrollEnd: "onScrollEnd", onViewportChange: "onViewportChange", onSnapItem: "onSnapItem", onItemClick: "onItemClick", onSelect: "onSelect", onCollapse: "onCollapse", onScrollReachStart: "onScrollReachStart", onScrollReachEnd: "onScrollReachEnd" }, host: { styleAttribute: "position: relative;" }, providers: [NgVirtualListService, NgVirtualListPublicService], viewQueries: [{ propertyName: "_prerender", first: true, predicate: ["prerender"], descendants: true, isSignal: true }, { propertyName: "_scrollerComponent", first: true, predicate: ["scroller"], descendants: true, isSignal: true }, { propertyName: "_listContainerRef", first: true, predicate: ["renderersContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "_snapContainerRef", first: true, predicate: ["snapRendererContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "@let scrollStartOffset = _actualScrollStartOffset();\r\n@let scrollEndOffset = _actualScrollEndOffset();\r\n@let alignmentScrollStartOffset = _alignmentScrollStartOffset();\r\n@let alignmentScrollEndOffset = _alignmentScrollEndOffset();\r\n\r\n<div aria-live=\"polite\" aria-atomic=\"true\" class=\"ngvl__screen-reader\">\r\n {{ screenReaderFormattedMessage() }}\r\n</div>\r\n\r\n<ng-prerender-container #prerender [bounds]=\"bounds()!\" [direction]=\"direction()\" [dynamic]=\"dynamicSize()\"\r\n [divides]=\"divides()\" [isVertical]=\"isVertical\" [itemSize]=\"actualItemSize()\" [trackBy]=\"trackBy()\"\r\n [itemRenderer]=\"itemRenderer()\" [startOffset]=\"scrollStartOffset\" [endOffset]=\"scrollEndOffset\"\r\n [scrollbarEnabled]=\"scroller.scrollbarShow()\" [enabled]=\"dynamicSize() && snapScrollToEnd()\" />\r\n\r\n@if (stickyEnabled()) {\r\n <div localeSensitive [langTextDir]=\"langTextDir()\" #snappedContainer class=\"ngvl__snapped-container\"\r\n [ngClass]=\"classes()\">\r\n <div #snapped part=\"snapped-item\" class=\"ngvl__list-snapper\">\r\n <ng-container #snapRendererContainer></ng-container>\r\n </div>\r\n </div>\r\n}\r\n\r\n<ng-scroller #scroller class=\"ngvl__list-scroller\" [classes]=\"classes()\" [startOffset]=\"scrollStartOffset\"\r\n [endOffset]=\"scrollEndOffset\" [alignmentStartOffset]=\"alignmentScrollStartOffset\" [alignmentEndOffset]=\"alignmentScrollEndOffset\"\r\n [direction]=\"direction()\" [scrollbarThumbRenderer]=\"scrollbarThumbRenderer()\" [isInfinity]=\"_isInfinity()\"\r\n [scrollbarThickness]=\"scrollbarThickness()\" [scrollbarThumbParams]=\"scrollbarThumbParams()\"\r\n [animationParams]=\"animationParams()\" [focusedElement]=\"focusedElement()\" [loading]=\"loading()\"\r\n [overscrollEnabled]=\"overscrollEnabled()\" [snappingDistance]=\"snappingDistance()\" [overlappingScrollbar]=\"overlappingScrollbar()\"\r\n [scrollbarEnabled]=\"_actualScrollbarEnabled()\" [scrollbarInteractive]=\"scrollbarInteractive()\" [snapToItem]=\"snapToItem()\"\r\n [snapToItemAlign]=\"snapToItemAlign()\" [scrollbarMinSize]=\"scrollbarMinSize()\" [scrollBehavior]=\"scrollBehavior()\"\r\n [scrollingSettings]=\"scrollingSettings()\" [scrollingOneByOne]=\"scrollingOneByOne()\" [motionBlur]=\"motionBlur()\"\r\n [maxMotionBlur]=\"maxMotionBlur()\" [motionBlurEnabled]=\"motionBlurEnabled()\">\r\n <ng-container #renderersContainer></ng-container>\r\n</ng-scroller>", styles: [":host{position:relative;display:block;width:400px;overflow:hidden}:host(.horizontal){height:48px}:host(.vertical){height:320px}.ngvl__snapped-container{position:relative;width:100%;opacity:0}.ngvl__snapped-container.prepared{opacity:1}.ngvl__list-snapper{-webkit-tap-highlight-color:transparent;position:absolute;list-style:none;left:0;top:0;z-index:1}.ngvl__list-scroller{-webkit-tap-highlight-color:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:0}.ngvl__screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: NgScrollerComponent, selector: "ng-scroller", inputs: ["scrollbarEnabled", "scrollbarInteractive", "focusedElement", "overlappingScrollbar", "content", "loading", "classes", "scrollbarMinSize", "scrollbarThickness", "scrollbarThumbRenderer", "scrollbarThumbParams", "motionBlur", "maxMotionBlur", "motionBlurEnabled"], outputs: ["onScrollbarVisible"] }, { kind: "component", type: NgPrerenderContainer, selector: "ng-prerender-container", inputs: ["enabled", "direction", "isVertical", "scrollbarEnabled", "startOffset", "endOffset", "bounds", "dynamic", "itemSize", "trackBy", "divides", "itemRenderer"] }, { kind: "directive", type: LocaleSensitiveDirective, selector: "[localeSensitive]", inputs: ["langTextDir", "listDir"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom });
8923
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8924
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: NgVirtualListComponent, isStandalone: false, selector: "ng-virtual-list", inputs: { scrollbarThickness: { classPropertyName: "scrollbarThickness", publicName: "scrollbarThickness", isSignal: true, isRequired: false, transformFunction: null }, scrollbarMinSize: { classPropertyName: "scrollbarMinSize", publicName: "scrollbarMinSize", isSignal: true, isRequired: false, transformFunction: null }, scrollbarThumbRenderer: { classPropertyName: "scrollbarThumbRenderer", publicName: "scrollbarThumbRenderer", isSignal: true, isRequired: false, transformFunction: null }, scrollbarThumbParams: { classPropertyName: "scrollbarThumbParams", publicName: "scrollbarThumbParams", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, waitForPreparation: { classPropertyName: "waitForPreparation", publicName: "waitForPreparation", isSignal: true, isRequired: false, transformFunction: null }, clickDistance: { classPropertyName: "clickDistance", publicName: "clickDistance", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, defaultItemValue: { classPropertyName: "defaultItemValue", publicName: "defaultItemValue", isSignal: true, isRequired: false, transformFunction: null }, selectedIds: { classPropertyName: "selectedIds", publicName: "selectedIds", isSignal: true, isRequired: false, transformFunction: null }, collapsedIds: { classPropertyName: "collapsedIds", publicName: "collapsedIds", isSignal: true, isRequired: false, transformFunction: null }, selectByClick: { classPropertyName: "selectByClick", publicName: "selectByClick", isSignal: true, isRequired: false, transformFunction: null }, collapseByClick: { classPropertyName: "collapseByClick", publicName: "collapseByClick", isSignal: true, isRequired: false, transformFunction: null }, snap: { classPropertyName: "snap", publicName: "snap", isSignal: true, isRequired: false, transformFunction: null }, stickyEnabled: { classPropertyName: "stickyEnabled", publicName: "stickyEnabled", isSignal: true, isRequired: false, transformFunction: null }, snapToEndTransitionInstantOffset: { classPropertyName: "snapToEndTransitionInstantOffset", publicName: "snapToEndTransitionInstantOffset", isSignal: true, isRequired: false, transformFunction: null }, scrollStartOffset: { classPropertyName: "scrollStartOffset", publicName: "scrollStartOffset", isSignal: true, isRequired: false, transformFunction: null }, scrollEndOffset: { classPropertyName: "scrollEndOffset", publicName: "scrollEndOffset", isSignal: true, isRequired: false, transformFunction: null }, snapScrollToStart: { classPropertyName: "snapScrollToStart", publicName: "snapScrollToStart", isSignal: true, isRequired: false, transformFunction: null }, snapScrollToEnd: { classPropertyName: "snapScrollToEnd", publicName: "snapScrollToEnd", isSignal: true, isRequired: false, transformFunction: null }, snapScrollToBottom: { classPropertyName: "snapScrollToBottom", publicName: "snapScrollToBottom", isSignal: true, isRequired: false, transformFunction: null }, scrollbarEnabled: { classPropertyName: "scrollbarEnabled", publicName: "scrollbarEnabled", isSignal: true, isRequired: false, transformFunction: null }, scrollbarInteractive: { classPropertyName: "scrollbarInteractive", publicName: "scrollbarInteractive", isSignal: true, isRequired: false, transformFunction: null }, overlappingScrollbar: { classPropertyName: "overlappingScrollbar", publicName: "overlappingScrollbar", isSignal: true, isRequired: false, transformFunction: null }, scrollBehavior: { classPropertyName: "scrollBehavior", publicName: "scrollBehavior", isSignal: true, isRequired: false, transformFunction: null }, scrollingSettings: { classPropertyName: "scrollingSettings", publicName: "scrollingSettings", isSignal: true, isRequired: false, transformFunction: null }, itemTransform: { classPropertyName: "itemTransform", publicName: "itemTransform", isSignal: true, isRequired: false, transformFunction: null }, snapToItem: { classPropertyName: "snapToItem", publicName: "snapToItem", isSignal: true, isRequired: false, transformFunction: null }, snapToItemAlign: { classPropertyName: "snapToItemAlign", publicName: "snapToItemAlign", isSignal: true, isRequired: false, transformFunction: null }, snappingDistance: { classPropertyName: "snappingDistance", publicName: "snappingDistance", isSignal: true, isRequired: false, transformFunction: null }, scrollingOneByOne: { classPropertyName: "scrollingOneByOne", publicName: "scrollingOneByOne", isSignal: true, isRequired: false, transformFunction: null }, alignment: { classPropertyName: "alignment", publicName: "alignment", isSignal: true, isRequired: false, transformFunction: null }, zIndexWhenSelecting: { classPropertyName: "zIndexWhenSelecting", publicName: "zIndexWhenSelecting", isSignal: true, isRequired: false, transformFunction: null }, spreadingMode: { classPropertyName: "spreadingMode", publicName: "spreadingMode", isSignal: true, isRequired: false, transformFunction: null }, divides: { classPropertyName: "divides", publicName: "divides", isSignal: true, isRequired: false, transformFunction: null }, motionBlur: { classPropertyName: "motionBlur", publicName: "motionBlur", isSignal: true, isRequired: false, transformFunction: null }, maxMotionBlur: { classPropertyName: "maxMotionBlur", publicName: "maxMotionBlur", isSignal: true, isRequired: false, transformFunction: null }, motionBlurEnabled: { classPropertyName: "motionBlurEnabled", publicName: "motionBlurEnabled", isSignal: true, isRequired: false, transformFunction: null }, animationParams: { classPropertyName: "animationParams", publicName: "animationParams", isSignal: true, isRequired: false, transformFunction: null }, overscrollEnabled: { classPropertyName: "overscrollEnabled", publicName: "overscrollEnabled", isSignal: true, isRequired: false, transformFunction: null }, enabledBufferOptimization: { classPropertyName: "enabledBufferOptimization", publicName: "enabledBufferOptimization", isSignal: true, isRequired: false, transformFunction: null }, itemRenderer: { classPropertyName: "itemRenderer", publicName: "itemRenderer", isSignal: true, isRequired: true, transformFunction: null }, itemConfigMap: { classPropertyName: "itemConfigMap", publicName: "itemConfigMap", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, minItemSize: { classPropertyName: "minItemSize", publicName: "minItemSize", isSignal: true, isRequired: false, transformFunction: null }, maxItemSize: { classPropertyName: "maxItemSize", publicName: "maxItemSize", isSignal: true, isRequired: false, transformFunction: null }, dynamicSize: { classPropertyName: "dynamicSize", publicName: "dynamicSize", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, collectionMode: { classPropertyName: "collectionMode", publicName: "collectionMode", isSignal: true, isRequired: false, transformFunction: null }, bufferSize: { classPropertyName: "bufferSize", publicName: "bufferSize", isSignal: true, isRequired: false, transformFunction: null }, maxBufferSize: { classPropertyName: "maxBufferSize", publicName: "maxBufferSize", isSignal: true, isRequired: false, transformFunction: null }, snappingMethod: { classPropertyName: "snappingMethod", publicName: "snappingMethod", isSignal: true, isRequired: false, transformFunction: null }, collapsingMode: { classPropertyName: "collapsingMode", publicName: "collapsingMode", isSignal: true, isRequired: false, transformFunction: null }, methodForSelecting: { classPropertyName: "methodForSelecting", publicName: "methodForSelecting", isSignal: true, isRequired: false, transformFunction: null }, selectingMode: { classPropertyName: "selectingMode", publicName: "selectingMode", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: true, isRequired: false, transformFunction: null }, screenReaderMessage: { classPropertyName: "screenReaderMessage", publicName: "screenReaderMessage", isSignal: true, isRequired: false, transformFunction: null }, langTextDir: { classPropertyName: "langTextDir", publicName: "langTextDir", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onScroll: "onScroll", onScrollEnd: "onScrollEnd", onViewportChange: "onViewportChange", onSnapItem: "onSnapItem", onItemClick: "onItemClick", onSelect: "onSelect", onCollapse: "onCollapse", onScrollReachStart: "onScrollReachStart", onScrollReachEnd: "onScrollReachEnd" }, host: { styleAttribute: "position: relative;" }, providers: [NgVirtualListService, NgVirtualListPublicService], viewQueries: [{ propertyName: "_prerender", first: true, predicate: ["prerender"], descendants: true, isSignal: true }, { propertyName: "_scrollerComponent", first: true, predicate: ["scroller"], descendants: true, isSignal: true }, { propertyName: "_listContainerRef", first: true, predicate: ["renderersContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "_snapContainerRef", first: true, predicate: ["snapRendererContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "@let scrollStartOffset = _actualScrollStartOffset();\r\n@let scrollEndOffset = _actualScrollEndOffset();\r\n@let alignmentScrollStartOffset = _alignmentScrollStartOffset();\r\n@let alignmentScrollEndOffset = _alignmentScrollEndOffset();\r\n\r\n<div aria-live=\"polite\" aria-atomic=\"true\" class=\"ngvl__screen-reader\">\r\n {{ screenReaderFormattedMessage() }}\r\n</div>\r\n\r\n<ng-prerender-container #prerender [bounds]=\"bounds()!\" [direction]=\"direction()\" [dynamic]=\"dynamicSize()\"\r\n [divides]=\"divides()\" [isVertical]=\"isVertical\" [itemSize]=\"actualItemSize()\" [trackBy]=\"trackBy()\"\r\n [itemRenderer]=\"itemRenderer()\" [startOffset]=\"scrollStartOffset\" [endOffset]=\"scrollEndOffset\"\r\n [scrollbarEnabled]=\"scroller.scrollbarShow()\" [enabled]=\"dynamicSize() && snapScrollToEnd()\" />\r\n\r\n@if (stickyEnabled()) {\r\n <div localeSensitive [langTextDir]=\"langTextDir()\" #snappedContainer class=\"ngvl__snapped-container\"\r\n [ngClass]=\"classes()\">\r\n <div #snapped part=\"snapped-item\" class=\"ngvl__list-snapper\">\r\n <ng-container #snapRendererContainer></ng-container>\r\n </div>\r\n </div>\r\n}\r\n\r\n<ng-scroller #scroller class=\"ngvl__list-scroller\" [classes]=\"classes()\" [startOffset]=\"scrollStartOffset\"\r\n [endOffset]=\"scrollEndOffset\" [alignmentStartOffset]=\"alignmentScrollStartOffset\" [alignmentEndOffset]=\"alignmentScrollEndOffset\"\r\n [direction]=\"direction()\" [scrollbarThumbRenderer]=\"scrollbarThumbRenderer()\" [isInfinity]=\"_isInfinity()\"\r\n [scrollbarThickness]=\"scrollbarThickness()\" [scrollbarThumbParams]=\"scrollbarThumbParams()\"\r\n [animationParams]=\"animationParams()\" [focusedElement]=\"focusedElement()\" [loading]=\"loading()\"\r\n [overscrollEnabled]=\"overscrollEnabled()\" [snappingDistance]=\"snappingDistance()\" [overlappingScrollbar]=\"overlappingScrollbar()\"\r\n [scrollbarEnabled]=\"_actualScrollbarEnabled()\" [scrollbarInteractive]=\"scrollbarInteractive()\" [snapToItem]=\"snapToItem()\"\r\n [snapToItemAlign]=\"snapToItemAlign()\" [scrollbarMinSize]=\"scrollbarMinSize()\" [scrollBehavior]=\"scrollBehavior()\"\r\n [scrollingSettings]=\"scrollingSettings()\" [scrollingOneByOne]=\"scrollingOneByOne()\" [motionBlur]=\"motionBlur()\"\r\n [maxMotionBlur]=\"maxMotionBlur()\" [motionBlurEnabled]=\"motionBlurEnabled()\">\r\n <ng-container #renderersContainer></ng-container>\r\n</ng-scroller>", styles: [":host{position:relative;display:block;width:400px;overflow:hidden}:host(.horizontal){height:48px}:host(.vertical){height:320px}.ngvl__snapped-container{position:relative;width:100%;opacity:0}.ngvl__snapped-container.prepared{opacity:1}.ngvl__list-snapper{-webkit-tap-highlight-color:transparent;position:absolute;list-style:none;left:0;top:0;z-index:1}.ngvl__list-scroller{-webkit-tap-highlight-color:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:0}.ngvl__screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: NgScrollerComponent, selector: "ng-scroller", inputs: ["scrollbarEnabled", "scrollbarInteractive", "focusedElement", "overlappingScrollbar", "content", "loading", "classes", "scrollbarMinSize", "scrollbarThickness", "scrollbarThumbRenderer", "scrollbarThumbParams", "motionBlur", "maxMotionBlur", "motionBlurEnabled"], outputs: ["onScrollbarVisible"] }, { kind: "component", type: NgPrerenderContainer, selector: "ng-prerender-container", inputs: ["enabled", "direction", "isVertical", "scrollbarEnabled", "startOffset", "endOffset", "bounds", "dynamic", "itemSize", "trackBy", "divides", "itemRenderer"] }, { kind: "directive", type: LocaleSensitiveDirective, selector: "[localeSensitive]", inputs: ["langTextDir", "listDir"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom });
8906
8925
  }
8907
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListComponent, decorators: [{
8926
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListComponent, decorators: [{
8908
8927
  type: Component,
8909
8928
  args: [{ selector: 'ng-virtual-list', host: {
8910
8929
  'style': 'position: relative;'
@@ -8918,11 +8937,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
8918
8937
  }], _scrollerComponent: [{ type: i0.ViewChild, args: ['scroller', { isSignal: true }] }], onScroll: [{ type: i0.Output, args: ["onScroll"] }], onScrollEnd: [{ type: i0.Output, args: ["onScrollEnd"] }], onViewportChange: [{ type: i0.Output, args: ["onViewportChange"] }], onSnapItem: [{ type: i0.Output, args: ["onSnapItem"] }], onItemClick: [{ type: i0.Output, args: ["onItemClick"] }], onSelect: [{ type: i0.Output, args: ["onSelect"] }], onCollapse: [{ type: i0.Output, args: ["onCollapse"] }], onScrollReachStart: [{ type: i0.Output, args: ["onScrollReachStart"] }], onScrollReachEnd: [{ type: i0.Output, args: ["onScrollReachEnd"] }], scrollbarThickness: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollbarThickness", required: false }] }], scrollbarMinSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollbarMinSize", required: false }] }], scrollbarThumbRenderer: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollbarThumbRenderer", required: false }] }], scrollbarThumbParams: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollbarThumbParams", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], waitForPreparation: [{ type: i0.Input, args: [{ isSignal: true, alias: "waitForPreparation", required: false }] }], clickDistance: [{ type: i0.Input, args: [{ isSignal: true, alias: "clickDistance", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], defaultItemValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultItemValue", required: false }] }], selectedIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedIds", required: false }] }], collapsedIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsedIds", required: false }] }], selectByClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectByClick", required: false }] }], collapseByClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapseByClick", required: false }] }], snap: [{ type: i0.Input, args: [{ isSignal: true, alias: "snap", required: false }] }], stickyEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "stickyEnabled", required: false }] }], snapToEndTransitionInstantOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapToEndTransitionInstantOffset", required: false }] }], scrollStartOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollStartOffset", required: false }] }], scrollEndOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEndOffset", required: false }] }], snapScrollToStart: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapScrollToStart", required: false }] }], snapScrollToEnd: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapScrollToEnd", required: false }] }], snapScrollToBottom: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapScrollToBottom", required: false }] }], scrollbarEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollbarEnabled", required: false }] }], scrollbarInteractive: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollbarInteractive", required: false }] }], overlappingScrollbar: [{ type: i0.Input, args: [{ isSignal: true, alias: "overlappingScrollbar", required: false }] }], scrollBehavior: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollBehavior", required: false }] }], scrollingSettings: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollingSettings", required: false }] }], itemTransform: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemTransform", required: false }] }], snapToItem: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapToItem", required: false }] }], snapToItemAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapToItemAlign", required: false }] }], snappingDistance: [{ type: i0.Input, args: [{ isSignal: true, alias: "snappingDistance", required: false }] }], scrollingOneByOne: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollingOneByOne", required: false }] }], alignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "alignment", required: false }] }], zIndexWhenSelecting: [{ type: i0.Input, args: [{ isSignal: true, alias: "zIndexWhenSelecting", required: false }] }], spreadingMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "spreadingMode", required: false }] }], divides: [{ type: i0.Input, args: [{ isSignal: true, alias: "divides", required: false }] }], motionBlur: [{ type: i0.Input, args: [{ isSignal: true, alias: "motionBlur", required: false }] }], maxMotionBlur: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxMotionBlur", required: false }] }], motionBlurEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "motionBlurEnabled", required: false }] }], animationParams: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationParams", required: false }] }], overscrollEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "overscrollEnabled", required: false }] }], enabledBufferOptimization: [{ type: i0.Input, args: [{ isSignal: true, alias: "enabledBufferOptimization", required: false }] }], itemRenderer: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemRenderer", required: true }] }], itemConfigMap: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemConfigMap", required: false }] }], itemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemSize", required: false }] }], minItemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "minItemSize", required: false }] }], maxItemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxItemSize", required: false }] }], dynamicSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "dynamicSize", required: false }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], collectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "collectionMode", required: false }] }], bufferSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "bufferSize", required: false }] }], maxBufferSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxBufferSize", required: false }] }], snappingMethod: [{ type: i0.Input, args: [{ isSignal: true, alias: "snappingMethod", required: false }] }], collapsingMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsingMode", required: false }] }], methodForSelecting: [{ type: i0.Input, args: [{ isSignal: true, alias: "methodForSelecting", required: false }] }], selectingMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectingMode", required: false }] }], trackBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "trackBy", required: false }] }], screenReaderMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "screenReaderMessage", required: false }] }], langTextDir: [{ type: i0.Input, args: [{ isSignal: true, alias: "langTextDir", required: false }] }] } });
8919
8938
 
8920
8939
  class LocaleSensitiveModule {
8921
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: LocaleSensitiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8922
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.16", ngImport: i0, type: LocaleSensitiveModule, declarations: [LocaleSensitiveDirective], imports: [CommonModule], exports: [LocaleSensitiveDirective] });
8923
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: LocaleSensitiveModule, imports: [CommonModule] });
8940
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LocaleSensitiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8941
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: LocaleSensitiveModule, declarations: [LocaleSensitiveDirective], imports: [CommonModule], exports: [LocaleSensitiveDirective] });
8942
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LocaleSensitiveModule, imports: [CommonModule] });
8924
8943
  }
8925
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: LocaleSensitiveModule, decorators: [{
8944
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LocaleSensitiveModule, decorators: [{
8926
8945
  type: NgModule,
8927
8946
  args: [{
8928
8947
  declarations: [LocaleSensitiveDirective],
@@ -8933,11 +8952,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
8933
8952
  }] });
8934
8953
 
8935
8954
  class VirtualClickModule {
8936
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: VirtualClickModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8937
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.16", ngImport: i0, type: VirtualClickModule, declarations: [VirtualClickDirective], imports: [CommonModule], exports: [VirtualClickDirective] });
8938
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: VirtualClickModule, imports: [CommonModule] });
8955
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: VirtualClickModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8956
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: VirtualClickModule, declarations: [VirtualClickDirective], imports: [CommonModule], exports: [VirtualClickDirective] });
8957
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: VirtualClickModule, imports: [CommonModule] });
8939
8958
  }
8940
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: VirtualClickModule, decorators: [{
8959
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: VirtualClickModule, decorators: [{
8941
8960
  type: NgModule,
8942
8961
  args: [{
8943
8962
  declarations: [VirtualClickDirective],
@@ -8948,11 +8967,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
8948
8967
  }] });
8949
8968
 
8950
8969
  class NgVirtualListItemModule {
8951
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListItemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8952
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListItemModule, declarations: [NgVirtualListItemComponent], imports: [CommonModule, VirtualClickModule], exports: [NgVirtualListItemComponent] });
8953
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListItemModule, imports: [CommonModule, VirtualClickModule] });
8970
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListItemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8971
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListItemModule, declarations: [NgVirtualListItemComponent], imports: [CommonModule, VirtualClickModule], exports: [NgVirtualListItemComponent] });
8972
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListItemModule, imports: [CommonModule, VirtualClickModule] });
8954
8973
  }
8955
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListItemModule, decorators: [{
8974
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListItemModule, decorators: [{
8956
8975
  type: NgModule,
8957
8976
  args: [{
8958
8977
  declarations: [NgVirtualListItemComponent],
@@ -8963,11 +8982,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
8963
8982
  }] });
8964
8983
 
8965
8984
  class NgScrollBarModule {
8966
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8967
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.16", ngImport: i0, type: NgScrollBarModule, declarations: [NgScrollBarComponent], imports: [CommonModule], exports: [NgScrollBarComponent] });
8968
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollBarModule, imports: [CommonModule] });
8985
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8986
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: NgScrollBarModule, declarations: [NgScrollBarComponent], imports: [CommonModule], exports: [NgScrollBarComponent] });
8987
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollBarModule, imports: [CommonModule] });
8969
8988
  }
8970
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollBarModule, decorators: [{
8989
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollBarModule, decorators: [{
8971
8990
  type: NgModule,
8972
8991
  args: [{
8973
8992
  declarations: [NgScrollBarComponent],
@@ -8978,11 +8997,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
8978
8997
  }] });
8979
8998
 
8980
8999
  class NgScrollerModule {
8981
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8982
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.16", ngImport: i0, type: NgScrollerModule, declarations: [NgScrollerComponent], imports: [CommonModule, NgScrollBarModule, LocaleSensitiveModule, CdkScrollableModule], exports: [NgScrollerComponent] });
8983
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollerModule, imports: [CommonModule, NgScrollBarModule, LocaleSensitiveModule, CdkScrollableModule] });
9000
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9001
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: NgScrollerModule, declarations: [NgScrollerComponent], imports: [CommonModule, NgScrollBarModule, LocaleSensitiveModule, CdkScrollableModule], exports: [NgScrollerComponent] });
9002
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollerModule, imports: [CommonModule, NgScrollBarModule, LocaleSensitiveModule, CdkScrollableModule] });
8984
9003
  }
8985
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgScrollerModule, decorators: [{
9004
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgScrollerModule, decorators: [{
8986
9005
  type: NgModule,
8987
9006
  args: [{
8988
9007
  declarations: [NgScrollerComponent],
@@ -8993,11 +9012,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
8993
9012
  }] });
8994
9013
 
8995
9014
  class NgPrerenderVirtualListItemModule {
8996
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderVirtualListItemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8997
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderVirtualListItemModule, declarations: [NgPrerenderVirtualListItemComponent], imports: [CommonModule, VirtualClickModule], exports: [NgPrerenderVirtualListItemComponent] });
8998
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderVirtualListItemModule, imports: [CommonModule, VirtualClickModule] });
9015
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderVirtualListItemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9016
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderVirtualListItemModule, declarations: [NgPrerenderVirtualListItemComponent], imports: [CommonModule, VirtualClickModule], exports: [NgPrerenderVirtualListItemComponent] });
9017
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderVirtualListItemModule, imports: [CommonModule, VirtualClickModule] });
8999
9018
  }
9000
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderVirtualListItemModule, decorators: [{
9019
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderVirtualListItemModule, decorators: [{
9001
9020
  type: NgModule,
9002
9021
  args: [{
9003
9022
  declarations: [NgPrerenderVirtualListItemComponent],
@@ -9008,11 +9027,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
9008
9027
  }] });
9009
9028
 
9010
9029
  class NgPrerenderScrollerModule {
9011
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderScrollerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9012
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderScrollerModule, declarations: [NgPrerenderScrollerComponent], imports: [CommonModule, LocaleSensitiveModule], exports: [NgPrerenderScrollerComponent] });
9013
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderScrollerModule, imports: [CommonModule, LocaleSensitiveModule] });
9030
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderScrollerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9031
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderScrollerModule, declarations: [NgPrerenderScrollerComponent], imports: [CommonModule, LocaleSensitiveModule], exports: [NgPrerenderScrollerComponent] });
9032
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderScrollerModule, imports: [CommonModule, LocaleSensitiveModule] });
9014
9033
  }
9015
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderScrollerModule, decorators: [{
9034
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderScrollerModule, decorators: [{
9016
9035
  type: NgModule,
9017
9036
  args: [{
9018
9037
  declarations: [NgPrerenderScrollerComponent],
@@ -9023,11 +9042,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
9023
9042
  }] });
9024
9043
 
9025
9044
  class NgPrerenderListModule {
9026
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9027
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderListModule, declarations: [NgPrerenderList], imports: [CommonModule, NgPrerenderVirtualListItemModule, NgPrerenderScrollerModule], exports: [NgPrerenderList] });
9028
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderListModule, imports: [CommonModule, NgPrerenderVirtualListItemModule, NgPrerenderScrollerModule] });
9045
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9046
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderListModule, declarations: [NgPrerenderList], imports: [CommonModule, NgPrerenderVirtualListItemModule, NgPrerenderScrollerModule], exports: [NgPrerenderList] });
9047
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderListModule, imports: [CommonModule, NgPrerenderVirtualListItemModule, NgPrerenderScrollerModule] });
9029
9048
  }
9030
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderListModule, decorators: [{
9049
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderListModule, decorators: [{
9031
9050
  type: NgModule,
9032
9051
  args: [{
9033
9052
  declarations: [NgPrerenderList],
@@ -9038,11 +9057,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
9038
9057
  }] });
9039
9058
 
9040
9059
  class NgPrerenderContainerModule {
9041
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderContainerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9042
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderContainerModule, declarations: [NgPrerenderContainer], imports: [CommonModule, NgPrerenderListModule], exports: [NgPrerenderContainer] });
9043
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderContainerModule, imports: [CommonModule, NgPrerenderListModule] });
9060
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderContainerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9061
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderContainerModule, declarations: [NgPrerenderContainer], imports: [CommonModule, NgPrerenderListModule], exports: [NgPrerenderContainer] });
9062
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderContainerModule, imports: [CommonModule, NgPrerenderListModule] });
9044
9063
  }
9045
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgPrerenderContainerModule, decorators: [{
9064
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgPrerenderContainerModule, decorators: [{
9046
9065
  type: NgModule,
9047
9066
  args: [{
9048
9067
  declarations: [NgPrerenderContainer],
@@ -9053,11 +9072,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
9053
9072
  }] });
9054
9073
 
9055
9074
  class NgVirtualListModule {
9056
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9057
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListModule, declarations: [NgVirtualListComponent], imports: [CommonModule, NgVirtualListItemModule, NgScrollerModule, NgPrerenderContainerModule, LocaleSensitiveModule], exports: [NgVirtualListComponent] });
9058
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListModule, imports: [CommonModule, NgVirtualListItemModule, NgScrollerModule, NgPrerenderContainerModule, LocaleSensitiveModule] });
9075
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9076
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListModule, declarations: [NgVirtualListComponent], imports: [CommonModule, NgVirtualListItemModule, NgScrollerModule, NgPrerenderContainerModule, LocaleSensitiveModule], exports: [NgVirtualListComponent] });
9077
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListModule, imports: [CommonModule, NgVirtualListItemModule, NgScrollerModule, NgPrerenderContainerModule, LocaleSensitiveModule] });
9059
9078
  }
9060
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: NgVirtualListModule, decorators: [{
9079
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NgVirtualListModule, decorators: [{
9061
9080
  type: NgModule,
9062
9081
  args: [{
9063
9082
  declarations: [NgVirtualListComponent],