ng-virtual-list 22.12.4 → 22.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/README.md +8 -8
- package/fesm2022/ng-virtual-list.mjs +259 -140
- package/fesm2022/ng-virtual-list.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ng-virtual-list.d.ts +29 -11
package/package.json
CHANGED
|
@@ -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/
|
|
1166
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/22.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/
|
|
2572
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/22.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/
|
|
2580
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/22.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/
|
|
2594
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/22.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/
|
|
2611
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/22.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
|
|
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; }; "
|
|
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;
|