ng-virtual-list 21.12.4 → 21.12.9

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ng-virtual-list",
3
- "version": "21.12.4",
3
+ "version": "21.12.9",
4
4
  "author": {
5
5
  "name": "Evgenii Alexandrovich Grebennikov",
6
6
  "email": "djonnyx@gmail.com"
@@ -533,6 +533,10 @@ interface IRenderVirtualListItemMeasures extends IRect {
533
533
  * Scroll size
534
534
  */
535
535
  scrollSize: number;
536
+ /**
537
+ * Maximum scroll size
538
+ */
539
+ maxScrollSize: number;
536
540
  /**
537
541
  * Item size
538
542
  */
@@ -963,6 +967,10 @@ interface IRenderVirtualListItemConfig {
963
967
  * Number of elements in the collection to be visualized.
964
968
  */
965
969
  totalItems: number;
970
+ /**
971
+ * Indicates layout inversion.
972
+ */
973
+ inverted: boolean;
966
974
  }
967
975
 
968
976
  /**
@@ -1155,7 +1163,7 @@ interface IRenderVirtualListCollection extends Array<IRenderVirtualListItem> {
1155
1163
  type TEventHandler = (...args: Array<any>) => void;
1156
1164
  /**
1157
1165
  * Event emitter
1158
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/main/library/src/utils/event-emitter/event-emitter.ts
1166
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/utils/event-emitter/event-emitter.ts
1159
1167
  * @author Evgenii Alexandrovich Grebennikov
1160
1168
  * @email djonnyx@gmail.com
1161
1169
  */
@@ -1329,6 +1337,7 @@ interface IItem<I = any> {
1329
1337
  */
1330
1338
  interface IMetrics<I extends IItem> {
1331
1339
  delta: number;
1340
+ inverted: boolean;
1332
1341
  normalizedItemWidth: number;
1333
1342
  normalizedItemHeight: number;
1334
1343
  width: number;
@@ -1353,6 +1362,7 @@ interface IMetrics<I extends IItem> {
1353
1362
  rightItemLength: number;
1354
1363
  rightItemsWeight: number;
1355
1364
  scrollSize: number;
1365
+ maxScrollSize: number;
1356
1366
  leftSizeOfAddedItems: number;
1357
1367
  sizeProperty: typeof HEIGHT_PROP_NAME | typeof WIDTH_PROP_NAME;
1358
1368
  stickyEnabled: boolean;
@@ -1398,6 +1408,7 @@ interface IRecalculateMetricsOptions<I extends IItem, C extends Array<I>> {
1398
1408
  };
1399
1409
  snapToItem: boolean;
1400
1410
  snapToItemAlign: SnapToItemAlign;
1411
+ inverted: boolean;
1401
1412
  itemTransform: ItemTransform | null;
1402
1413
  }
1403
1414
 
@@ -2558,7 +2569,7 @@ declare class NgVirtualListItemModule {
2558
2569
 
2559
2570
  /**
2560
2571
  * Easing
2561
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/main/library/src/utils/animator/types/easing.ts
2572
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/utils/animator/types/easing.ts
2562
2573
  * @author Evgenii Alexandrovich Grebennikov
2563
2574
  * @email djonnyx@gmail.com
2564
2575
  */
@@ -2566,7 +2577,7 @@ type Easing = (v: number) => number;
2566
2577
 
2567
2578
  /**
2568
2579
  * IAnimatorUpdateData
2569
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/main/library/src/utils/animator/interfaces/animator-update-data.ts
2580
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/utils/animator/interfaces/animator-update-data.ts
2570
2581
  * @author Evgenii Alexandrovich Grebennikov
2571
2582
  * @email djonnyx@gmail.com
2572
2583
  */
@@ -2580,7 +2591,7 @@ interface IAnimatorUpdateData {
2580
2591
 
2581
2592
  /**
2582
2593
  * IAnimatorParams
2583
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/main/library/src/utils/animator/interfaces/animator-params.ts
2594
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/utils/animator/interfaces/animator-params.ts
2584
2595
  * @author Evgenii Alexandrovich Grebennikov
2585
2596
  * @email djonnyx@gmail.com
2586
2597
  */
@@ -2597,7 +2608,7 @@ interface IAnimatorParams {
2597
2608
 
2598
2609
  /**
2599
2610
  * Animator
2600
- * @link https://github.com/DjonnyX/ng-virtual-list/blob/main/library/src/utils/animator/animator.ts
2611
+ * @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/utils/animator/animator.ts
2601
2612
  * @author Evgenii Alexandrovich Grebennikov
2602
2613
  * @email djonnyx@gmail.com
2603
2614
  */
@@ -2680,6 +2691,7 @@ declare class BaseScrollView {
2680
2691
  readonly isInfinity: _angular_core.InputSignal<boolean>;
2681
2692
  readonly isVertical: Signal<boolean>;
2682
2693
  readonly grabbing: _angular_core.WritableSignal<boolean>;
2694
+ readonly langTextDir: _angular_core.InputSignal<TextDirection>;
2683
2695
  protected _inversion: boolean;
2684
2696
  protected _overscrollEnabled: boolean;
2685
2697
  protected _$updateScrollBar: Subject<void>;
@@ -2721,7 +2733,7 @@ declare class BaseScrollView {
2721
2733
  protected onResizeViewport(): void;
2722
2734
  protected onResizeContent(value?: number | null): void;
2723
2735
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseScrollView, never>;
2724
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BaseScrollView, "base-scroll-view", never, { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "startOffset": { "alias": "startOffset"; "required": false; "isSignal": true; }; "endOffset": { "alias": "endOffset"; "required": false; "isSignal": true; }; "alignmentStartOffset": { "alias": "alignmentStartOffset"; "required": false; "isSignal": true; }; "alignmentEndOffset": { "alias": "alignmentEndOffset"; "required": false; "isSignal": true; }; "isInfinity": { "alias": "isInfinity"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2736
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BaseScrollView, "base-scroll-view", never, { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "startOffset": { "alias": "startOffset"; "required": false; "isSignal": true; }; "endOffset": { "alias": "endOffset"; "required": false; "isSignal": true; }; "alignmentStartOffset": { "alias": "alignmentStartOffset"; "required": false; "isSignal": true; }; "alignmentEndOffset": { "alias": "alignmentEndOffset"; "required": false; "isSignal": true; }; "isInfinity": { "alias": "isInfinity"; "required": false; "isSignal": true; }; "langTextDir": { "alias": "langTextDir"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2725
2737
  }
2726
2738
 
2727
2739
  /**
@@ -2780,10 +2792,17 @@ declare class NgScrollView extends BaseScrollView {
2780
2792
  get averageVelocity(): number;
2781
2793
  private _measureVelocityTimestamp;
2782
2794
  private _measureVelocityLastPosition;
2783
- private _startPosition;
2795
+ private _startPositionX;
2796
+ private _startPositionY;
2797
+ set startPosition(v: number);
2798
+ get startPosition(): number;
2784
2799
  protected _animator: Animator;
2785
2800
  protected _interactive: boolean;
2801
+ protected _horizontalAxisInvertion: Signal<boolean>;
2802
+ get inverted(): boolean;
2786
2803
  private _overscrollIteration;
2804
+ private _overscrollStartIteration;
2805
+ private _overscrollApplied;
2787
2806
  set x(v: number);
2788
2807
  get x(): number;
2789
2808
  protected setX(x: number, snap?: boolean, normalize?: boolean): void;
@@ -2794,6 +2813,8 @@ declare class NgScrollView extends BaseScrollView {
2794
2813
  set delta(v: number);
2795
2814
  set startLayoutOffset(v: number);
2796
2815
  get startLayoutOffset(): number;
2816
+ private _scrollDirectionValueX;
2817
+ private _scrollDirectionValueY;
2797
2818
  protected _intersectionComponentId: Id | null;
2798
2819
  protected _isAlignmentAnimation: boolean;
2799
2820
  get animated(): boolean;
@@ -2913,7 +2934,6 @@ declare class NgScrollBarComponent extends NgScrollView {
2913
2934
  readonly thickness: _angular_core.InputSignal<number>;
2914
2935
  readonly scrollbarMinSize: _angular_core.InputSignal<number>;
2915
2936
  readonly prepared: _angular_core.InputSignal<boolean>;
2916
- readonly langTextDir: _angular_core.InputSignal<TextDirection>;
2917
2937
  readonly interactive: _angular_core.InputSignal<boolean>;
2918
2938
  readonly overlapping: _angular_core.InputSignal<boolean>;
2919
2939
  readonly show: _angular_core.InputSignal<boolean>;
@@ -2938,7 +2958,7 @@ declare class NgScrollBarComponent extends NgScrollView {
2938
2958
  private thumbHit;
2939
2959
  click(event: PointerEvent | MouseEvent): void;
2940
2960
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgScrollBarComponent, never>;
2941
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgScrollBarComponent, "ng-scroll-bar", never, { "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "thumbGradientPositions": { "alias": "thumbGradientPositions"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "thickness": { "alias": "thickness"; "required": false; "isSignal": true; }; "scrollbarMinSize": { "alias": "scrollbarMinSize"; "required": false; "isSignal": true; }; "prepared": { "alias": "prepared"; "required": false; "isSignal": true; }; "langTextDir": { "alias": "langTextDir"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "overlapping": { "alias": "overlapping"; "required": false; "isSignal": true; }; "show": { "alias": "show"; "required": false; "isSignal": true; }; "params": { "alias": "params"; "required": false; "isSignal": true; }; "renderer": { "alias": "renderer"; "required": false; "isSignal": true; }; }, { "onDrag": "onDrag"; "onDragEnd": "onDragEnd"; }, never, never, false, never>;
2961
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgScrollBarComponent, "ng-scroll-bar", never, { "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "thumbGradientPositions": { "alias": "thumbGradientPositions"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "thickness": { "alias": "thickness"; "required": false; "isSignal": true; }; "scrollbarMinSize": { "alias": "scrollbarMinSize"; "required": false; "isSignal": true; }; "prepared": { "alias": "prepared"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "overlapping": { "alias": "overlapping"; "required": false; "isSignal": true; }; "show": { "alias": "show"; "required": false; "isSignal": true; }; "params": { "alias": "params"; "required": false; "isSignal": true; }; "renderer": { "alias": "renderer"; "required": false; "isSignal": true; }; }, { "onDrag": "onDrag"; "onDragEnd": "onDragEnd"; }, never, never, false, never>;
2942
2962
  }
2943
2963
 
2944
2964
  /**
@@ -2981,7 +3001,6 @@ declare class NgScrollerComponent extends NgScrollView {
2981
3001
  readonly thumbSize: _angular_core.WritableSignal<number>;
2982
3002
  readonly scrollbarShow: _angular_core.WritableSignal<boolean>;
2983
3003
  readonly preparedSignal: _angular_core.WritableSignal<boolean>;
2984
- readonly langTextDir: _angular_core.WritableSignal<TextDirection>;
2985
3004
  readonly listStyles: _angular_core.WritableSignal<{
2986
3005
  perspectiveOrigin: string;
2987
3006
  }>;
@@ -3191,7 +3210,6 @@ declare class NgPrerenderVirtualListItemModule {
3191
3210
  */
3192
3211
  declare class NgPrerenderScrollerComponent extends BaseScrollView {
3193
3212
  scrollBar: NgScrollBarComponent | undefined;
3194
- langTextDir: _angular_core.WritableSignal<TextDirection>;
3195
3213
  scrollbarEnabled: _angular_core.InputSignal<boolean>;
3196
3214
  classes: _angular_core.InputSignal<{
3197
3215
  [cName: string]: boolean;