Socket
Socket
Sign inDemoInstall

ngx-virtual-scroller

Package Overview
Dependencies
6
Maintainers
1
Versions
38
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.0.2 to 2.0.3

6

CHANGELOG.md

@@ -0,4 +1,8 @@

# v2.0.3
* Switch to ES2015 Module (instead of CommonJS) to support Ivy.
# v2.0.2
* Update to latest version of Angular
* Update to latest version of Angular & switch to ES2015 Module (instead of CommonJS) to support Ivy.

@@ -5,0 +9,0 @@ # v1.0.17

164

dist/virtual-scroller.js

@@ -1,9 +0,7 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var core_1 = require("@angular/core");
var core_2 = require("@angular/core");
var common_1 = require("@angular/common");
var common_2 = require("@angular/common");
var tween = require("@tweenjs/tween.js");
import * as tslib_1 from "tslib";
import { Component, ContentChild, ElementRef, EventEmitter, Inject, Optional, Input, NgModule, NgZone, Output, Renderer2, ViewChild, ChangeDetectorRef } from '@angular/core';
import { PLATFORM_ID } from '@angular/core';
import { isPlatformServer } from '@angular/common';
import { CommonModule } from '@angular/common';
import * as tween from '@tweenjs/tween.js';
var VirtualScrollerComponent = /** @class */ (function () {

@@ -27,10 +25,10 @@ function VirtualScrollerComponent(element, renderer, zone, changeDetectorRef, platformId, scrollThrottlingTime, scrollDebounceTime, scrollAnimationTime, scrollbarWidth, scrollbarHeight, checkResizeInterval, resizeBypassRefreshThreshold, modifyOverflowStyleOfParentScroll, stripedTable) {

this.compareItems = function (item1, item2) { return item1 === item2; };
this.update = new core_1.EventEmitter();
this.vsUpdate = new core_1.EventEmitter();
this.change = new core_1.EventEmitter();
this.vsChange = new core_1.EventEmitter();
this.start = new core_1.EventEmitter();
this.vsStart = new core_1.EventEmitter();
this.end = new core_1.EventEmitter();
this.vsEnd = new core_1.EventEmitter();
this.update = new EventEmitter();
this.vsUpdate = new EventEmitter();
this.change = new EventEmitter();
this.vsChange = new EventEmitter();
this.start = new EventEmitter();
this.vsStart = new EventEmitter();
this.end = new EventEmitter();
this.vsEnd = new EventEmitter();
this.calculatedScrollbarWidth = 0;

@@ -42,3 +40,3 @@ this.calculatedScrollbarHeight = 0;

this.previousScrollNumberElements = 0;
this.isAngularUniversalSSR = common_1.isPlatformServer(platformId);
this.isAngularUniversalSSR = isPlatformServer(platformId);
this.scrollThrottlingTime = typeof (scrollThrottlingTime) === 'number' ? scrollThrottlingTime : 0;

@@ -939,7 +937,7 @@ this.scrollDebounceTime = typeof (scrollDebounceTime) === 'number' ? scrollDebounceTime : 0;

tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Boolean)
], VirtualScrollerComponent.prototype, "executeRefreshOutsideAngularZone", void 0);
tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Boolean),

@@ -949,47 +947,47 @@ tslib_1.__metadata("design:paramtypes", [Boolean])

tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Boolean)
], VirtualScrollerComponent.prototype, "useMarginInsteadOfTranslate", void 0);
tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Boolean)
], VirtualScrollerComponent.prototype, "modifyOverflowStyleOfParentScroll", void 0);
tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Boolean)
], VirtualScrollerComponent.prototype, "stripedTable", void 0);
tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Number)
], VirtualScrollerComponent.prototype, "scrollbarWidth", void 0);
tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Number)
], VirtualScrollerComponent.prototype, "scrollbarHeight", void 0);
tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Number)
], VirtualScrollerComponent.prototype, "childWidth", void 0);
tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Number)
], VirtualScrollerComponent.prototype, "childHeight", void 0);
tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Number)
], VirtualScrollerComponent.prototype, "ssrChildWidth", void 0);
tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Number)
], VirtualScrollerComponent.prototype, "ssrChildHeight", void 0);
tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Number)
], VirtualScrollerComponent.prototype, "ssrViewportWidth", void 0);
tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Number)
], VirtualScrollerComponent.prototype, "ssrViewportHeight", void 0);
tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Number),

@@ -999,11 +997,11 @@ tslib_1.__metadata("design:paramtypes", [Number])

tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Number)
], VirtualScrollerComponent.prototype, "scrollAnimationTime", void 0);
tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Number)
], VirtualScrollerComponent.prototype, "resizeBypassRefreshThreshold", void 0);
tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Number),

@@ -1013,3 +1011,3 @@ tslib_1.__metadata("design:paramtypes", [Number])

tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Number),

@@ -1019,3 +1017,3 @@ tslib_1.__metadata("design:paramtypes", [Number])

tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Number),

@@ -1025,3 +1023,3 @@ tslib_1.__metadata("design:paramtypes", [Number])

tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Array),

@@ -1031,7 +1029,7 @@ tslib_1.__metadata("design:paramtypes", [Array])

tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Function)
], VirtualScrollerComponent.prototype, "compareItems", void 0);
tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Boolean),

@@ -1041,3 +1039,3 @@ tslib_1.__metadata("design:paramtypes", [Boolean])

tslib_1.__decorate([
core_1.Input(),
Input(),
tslib_1.__metadata("design:type", Object),

@@ -1047,51 +1045,51 @@ tslib_1.__metadata("design:paramtypes", [Object])

tslib_1.__decorate([
core_1.Output(),
tslib_1.__metadata("design:type", core_1.EventEmitter)
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], VirtualScrollerComponent.prototype, "update", void 0);
tslib_1.__decorate([
core_1.Output(),
tslib_1.__metadata("design:type", core_1.EventEmitter)
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], VirtualScrollerComponent.prototype, "vsUpdate", void 0);
tslib_1.__decorate([
core_1.Output(),
tslib_1.__metadata("design:type", core_1.EventEmitter)
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], VirtualScrollerComponent.prototype, "change", void 0);
tslib_1.__decorate([
core_1.Output(),
tslib_1.__metadata("design:type", core_1.EventEmitter)
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], VirtualScrollerComponent.prototype, "vsChange", void 0);
tslib_1.__decorate([
core_1.Output(),
tslib_1.__metadata("design:type", core_1.EventEmitter)
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], VirtualScrollerComponent.prototype, "start", void 0);
tslib_1.__decorate([
core_1.Output(),
tslib_1.__metadata("design:type", core_1.EventEmitter)
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], VirtualScrollerComponent.prototype, "vsStart", void 0);
tslib_1.__decorate([
core_1.Output(),
tslib_1.__metadata("design:type", core_1.EventEmitter)
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], VirtualScrollerComponent.prototype, "end", void 0);
tslib_1.__decorate([
core_1.Output(),
tslib_1.__metadata("design:type", core_1.EventEmitter)
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], VirtualScrollerComponent.prototype, "vsEnd", void 0);
tslib_1.__decorate([
core_1.ViewChild('content', { read: core_1.ElementRef }),
tslib_1.__metadata("design:type", core_1.ElementRef)
ViewChild('content', { read: ElementRef }),
tslib_1.__metadata("design:type", ElementRef)
], VirtualScrollerComponent.prototype, "contentElementRef", void 0);
tslib_1.__decorate([
core_1.ViewChild('invisiblePadding', { read: core_1.ElementRef }),
tslib_1.__metadata("design:type", core_1.ElementRef)
ViewChild('invisiblePadding', { read: ElementRef }),
tslib_1.__metadata("design:type", ElementRef)
], VirtualScrollerComponent.prototype, "invisiblePaddingElementRef", void 0);
tslib_1.__decorate([
core_1.ContentChild('header', { read: core_1.ElementRef }),
tslib_1.__metadata("design:type", core_1.ElementRef)
ContentChild('header', { read: ElementRef }),
tslib_1.__metadata("design:type", ElementRef)
], VirtualScrollerComponent.prototype, "headerElementRef", void 0);
tslib_1.__decorate([
core_1.ContentChild('container', { read: core_1.ElementRef }),
tslib_1.__metadata("design:type", core_1.ElementRef)
ContentChild('container', { read: ElementRef }),
tslib_1.__metadata("design:type", ElementRef)
], VirtualScrollerComponent.prototype, "containerElementRef", void 0);
VirtualScrollerComponent = tslib_1.__decorate([
core_1.Component({
Component({
selector: 'virtual-scroller,[virtualScroller]',

@@ -1107,16 +1105,16 @@ exportAs: 'virtualScroller',

}),
tslib_1.__param(4, core_1.Inject(core_2.PLATFORM_ID)),
tslib_1.__param(5, core_1.Optional()), tslib_1.__param(5, core_1.Inject('virtualScroller.scrollThrottlingTime')),
tslib_1.__param(6, core_1.Optional()), tslib_1.__param(6, core_1.Inject('virtualScroller.scrollDebounceTime')),
tslib_1.__param(7, core_1.Optional()), tslib_1.__param(7, core_1.Inject('virtualScroller.scrollAnimationTime')),
tslib_1.__param(8, core_1.Optional()), tslib_1.__param(8, core_1.Inject('virtualScroller.scrollbarWidth')),
tslib_1.__param(9, core_1.Optional()), tslib_1.__param(9, core_1.Inject('virtualScroller.scrollbarHeight')),
tslib_1.__param(10, core_1.Optional()), tslib_1.__param(10, core_1.Inject('virtualScroller.checkResizeInterval')),
tslib_1.__param(11, core_1.Optional()), tslib_1.__param(11, core_1.Inject('virtualScroller.resizeBypassRefreshThreshold')),
tslib_1.__param(12, core_1.Optional()), tslib_1.__param(12, core_1.Inject('virtualScroller.modifyOverflowStyleOfParentScroll')),
tslib_1.__param(13, core_1.Optional()), tslib_1.__param(13, core_1.Inject('virtualScroller.stripedTable')),
tslib_1.__metadata("design:paramtypes", [core_1.ElementRef,
core_1.Renderer2,
core_1.NgZone,
core_1.ChangeDetectorRef,
tslib_1.__param(4, Inject(PLATFORM_ID)),
tslib_1.__param(5, Optional()), tslib_1.__param(5, Inject('virtualScroller.scrollThrottlingTime')),
tslib_1.__param(6, Optional()), tslib_1.__param(6, Inject('virtualScroller.scrollDebounceTime')),
tslib_1.__param(7, Optional()), tslib_1.__param(7, Inject('virtualScroller.scrollAnimationTime')),
tslib_1.__param(8, Optional()), tslib_1.__param(8, Inject('virtualScroller.scrollbarWidth')),
tslib_1.__param(9, Optional()), tslib_1.__param(9, Inject('virtualScroller.scrollbarHeight')),
tslib_1.__param(10, Optional()), tslib_1.__param(10, Inject('virtualScroller.checkResizeInterval')),
tslib_1.__param(11, Optional()), tslib_1.__param(11, Inject('virtualScroller.resizeBypassRefreshThreshold')),
tslib_1.__param(12, Optional()), tslib_1.__param(12, Inject('virtualScroller.modifyOverflowStyleOfParentScroll')),
tslib_1.__param(13, Optional()), tslib_1.__param(13, Inject('virtualScroller.stripedTable')),
tslib_1.__metadata("design:paramtypes", [ElementRef,
Renderer2,
NgZone,
ChangeDetectorRef,
Object, Object, Object, Object, Object, Object, Object, Object, Object, Object])

@@ -1126,3 +1124,3 @@ ], VirtualScrollerComponent);

}());
exports.VirtualScrollerComponent = VirtualScrollerComponent;
export { VirtualScrollerComponent };
var VirtualScrollerModule = /** @class */ (function () {

@@ -1132,6 +1130,6 @@ function VirtualScrollerModule() {

VirtualScrollerModule = tslib_1.__decorate([
core_1.NgModule({
NgModule({
exports: [VirtualScrollerComponent],
declarations: [VirtualScrollerComponent],
imports: [common_2.CommonModule]
imports: [CommonModule]
})

@@ -1141,3 +1139,3 @@ ], VirtualScrollerModule);

}());
exports.VirtualScrollerModule = VirtualScrollerModule;
export { VirtualScrollerModule };
//# sourceMappingURL=virtual-scroller.js.map

@@ -1,2 +0,1 @@

"use strict";
/**

@@ -8,17 +7,14 @@ * @fileoverview This file was generated by the Angular template compiler. Do not edit.

*/
Object.defineProperty(exports, "__esModule", { value: true });
var i0 = require("@angular/core");
var i1 = require("./virtual-scroller");
var i2 = require("@angular/common");
import * as i0 from "@angular/core";
import * as i1 from "./virtual-scroller";
import * as i2 from "@angular/common";
var VirtualScrollerModuleNgFactory = i0.ɵcmf(i1.VirtualScrollerModule, [], function (_l) { return i0.ɵmod([i0.ɵmpd(512, i0.ComponentFactoryResolver, i0.ɵCodegenComponentFactoryResolver, [[8, []], [3, i0.ComponentFactoryResolver], i0.NgModuleRef]), i0.ɵmpd(4608, i2.NgLocalization, i2.NgLocaleLocalization, [i0.LOCALE_ID, [2, i2.ɵangular_packages_common_common_a]]), i0.ɵmpd(1073742336, i2.CommonModule, i2.CommonModule, []), i0.ɵmpd(1073742336, i1.VirtualScrollerModule, i1.VirtualScrollerModule, [])]); });
exports.VirtualScrollerModuleNgFactory = VirtualScrollerModuleNgFactory;
export { VirtualScrollerModuleNgFactory as VirtualScrollerModuleNgFactory };
var styles_VirtualScrollerComponent = ["[_nghost-%COMP%] {\n position: relative;\n\t display: block;\n -webkit-overflow-scrolling: touch;\n }\n\t\n\t.horizontal.selfScroll[_nghost-%COMP%] {\n overflow-y: visible;\n overflow-x: auto;\n\t}\n\t.vertical.selfScroll[_nghost-%COMP%] {\n overflow-y: auto;\n overflow-x: visible;\n\t}\n\t\n .scrollable-content[_ngcontent-%COMP%] {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n max-width: 100vw;\n max-height: 100vh;\n position: absolute;\n }\n\n\t.scrollable-content[_ngcontent-%COMP%] > * {\n\t\tbox-sizing: border-box;\n\t}\n\t\n\t.horizontal[_nghost-%COMP%] {\n\t\twhite-space: nowrap;\n\t}\n\t\n\t.horizontal[_nghost-%COMP%] .scrollable-content[_ngcontent-%COMP%] {\n\t\tdisplay: flex;\n\t}\n\t\n\t.horizontal[_nghost-%COMP%] .scrollable-content[_ngcontent-%COMP%] > * {\n\t\tflex-shrink: 0;\n\t\tflex-grow: 0;\n\t\twhite-space: initial;\n\t}\n\t\n .total-padding[_ngcontent-%COMP%] {\n width: 1px;\n opacity: 0;\n }\n \n .horizontal[_nghost-%COMP%] .total-padding[_ngcontent-%COMP%] {\n height: 100%;\n }"];
var RenderType_VirtualScrollerComponent = i0.ɵcrt({ encapsulation: 0, styles: styles_VirtualScrollerComponent, data: {} });
exports.RenderType_VirtualScrollerComponent = RenderType_VirtualScrollerComponent;
function View_VirtualScrollerComponent_0(_l) { return i0.ɵvid(0, [i0.ɵqud(402653184, 1, { contentElementRef: 0 }), i0.ɵqud(402653184, 2, { invisiblePaddingElementRef: 0 }), (_l()(), i0.ɵeld(2, 0, [[2, 0], ["invisiblePadding", 1]], null, 0, "div", [["class", "total-padding"]], null, null, null, null, null)), (_l()(), i0.ɵeld(3, 0, [[1, 0], ["content", 1]], null, 1, "div", [["class", "scrollable-content"]], null, null, null, null, null)), i0.ɵncd(null, 0)], null, null); }
exports.View_VirtualScrollerComponent_0 = View_VirtualScrollerComponent_0;
function View_VirtualScrollerComponent_Host_0(_l) { return i0.ɵvid(0, [(_l()(), i0.ɵeld(0, 0, null, null, 3, "virtual-scroller", [], [[2, "horizontal", null], [2, "vertical", null], [2, "selfScroll", null]], null, null, View_VirtualScrollerComponent_0, RenderType_VirtualScrollerComponent)), i0.ɵdid(1, 1032192, null, 2, i1.VirtualScrollerComponent, [i0.ElementRef, i0.Renderer2, i0.NgZone, i0.ChangeDetectorRef, i0.PLATFORM_ID, [2, "virtualScroller.scrollThrottlingTime"], [2, "virtualScroller.scrollDebounceTime"], [2, "virtualScroller.scrollAnimationTime"], [2, "virtualScroller.scrollbarWidth"], [2, "virtualScroller.scrollbarHeight"], [2, "virtualScroller.checkResizeInterval"], [2, "virtualScroller.resizeBypassRefreshThreshold"], [2, "virtualScroller.modifyOverflowStyleOfParentScroll"], [2, "virtualScroller.stripedTable"]], null, null), i0.ɵqud(335544320, 1, { headerElementRef: 0 }), i0.ɵqud(335544320, 2, { containerElementRef: 0 })], function (_ck, _v) { _ck(_v, 1, 0); }, function (_ck, _v) { var currVal_0 = i0.ɵnov(_v, 1).horizontal; var currVal_1 = !i0.ɵnov(_v, 1).horizontal; var currVal_2 = !i0.ɵnov(_v, 1).parentScroll; _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2); }); }
exports.View_VirtualScrollerComponent_Host_0 = View_VirtualScrollerComponent_Host_0;
export { RenderType_VirtualScrollerComponent as RenderType_VirtualScrollerComponent };
export function View_VirtualScrollerComponent_0(_l) { return i0.ɵvid(0, [i0.ɵqud(402653184, 1, { contentElementRef: 0 }), i0.ɵqud(402653184, 2, { invisiblePaddingElementRef: 0 }), (_l()(), i0.ɵeld(2, 0, [[2, 0], ["invisiblePadding", 1]], null, 0, "div", [["class", "total-padding"]], null, null, null, null, null)), (_l()(), i0.ɵeld(3, 0, [[1, 0], ["content", 1]], null, 1, "div", [["class", "scrollable-content"]], null, null, null, null, null)), i0.ɵncd(null, 0)], null, null); }
export function View_VirtualScrollerComponent_Host_0(_l) { return i0.ɵvid(0, [(_l()(), i0.ɵeld(0, 0, null, null, 3, "virtual-scroller", [], [[2, "horizontal", null], [2, "vertical", null], [2, "selfScroll", null]], null, null, View_VirtualScrollerComponent_0, RenderType_VirtualScrollerComponent)), i0.ɵdid(1, 1032192, null, 2, i1.VirtualScrollerComponent, [i0.ElementRef, i0.Renderer2, i0.NgZone, i0.ChangeDetectorRef, i0.PLATFORM_ID, [2, "virtualScroller.scrollThrottlingTime"], [2, "virtualScroller.scrollDebounceTime"], [2, "virtualScroller.scrollAnimationTime"], [2, "virtualScroller.scrollbarWidth"], [2, "virtualScroller.scrollbarHeight"], [2, "virtualScroller.checkResizeInterval"], [2, "virtualScroller.resizeBypassRefreshThreshold"], [2, "virtualScroller.modifyOverflowStyleOfParentScroll"], [2, "virtualScroller.stripedTable"]], null, null), i0.ɵqud(335544320, 1, { headerElementRef: 0 }), i0.ɵqud(335544320, 2, { containerElementRef: 0 })], function (_ck, _v) { _ck(_v, 1, 0); }, function (_ck, _v) { var currVal_0 = i0.ɵnov(_v, 1).horizontal; var currVal_1 = !i0.ɵnov(_v, 1).horizontal; var currVal_2 = !i0.ɵnov(_v, 1).parentScroll; _ck(_v, 0, 0, currVal_0, currVal_1, currVal_2); }); }
var VirtualScrollerComponentNgFactory = i0.ɵccf("virtual-scroller,[virtualScroller]", i1.VirtualScrollerComponent, View_VirtualScrollerComponent_Host_0, { executeRefreshOutsideAngularZone: "executeRefreshOutsideAngularZone", enableUnequalChildrenSizes: "enableUnequalChildrenSizes", useMarginInsteadOfTranslate: "useMarginInsteadOfTranslate", modifyOverflowStyleOfParentScroll: "modifyOverflowStyleOfParentScroll", stripedTable: "stripedTable", scrollbarWidth: "scrollbarWidth", scrollbarHeight: "scrollbarHeight", childWidth: "childWidth", childHeight: "childHeight", ssrChildWidth: "ssrChildWidth", ssrChildHeight: "ssrChildHeight", ssrViewportWidth: "ssrViewportWidth", ssrViewportHeight: "ssrViewportHeight", bufferAmount: "bufferAmount", scrollAnimationTime: "scrollAnimationTime", resizeBypassRefreshThreshold: "resizeBypassRefreshThreshold", scrollThrottlingTime: "scrollThrottlingTime", scrollDebounceTime: "scrollDebounceTime", checkResizeInterval: "checkResizeInterval", items: "items", compareItems: "compareItems", horizontal: "horizontal", parentScroll: "parentScroll" }, { update: "update", vsUpdate: "vsUpdate", change: "change", vsChange: "vsChange", start: "start", vsStart: "vsStart", end: "end", vsEnd: "vsEnd" }, ["*"]);
exports.VirtualScrollerComponentNgFactory = VirtualScrollerComponentNgFactory;
export { VirtualScrollerComponentNgFactory as VirtualScrollerComponentNgFactory };
//# sourceMappingURL=virtual-scroller.ngfactory.js.map
{
"name": "ngx-virtual-scroller",
"version": "2.0.2",
"version": "2.0.3",
"description": "Angular module for virtual -infinite- list. Supports horizontal/vertical, variable heights, & multi-column",

@@ -5,0 +5,0 @@ "main": "dist/virtual-scroller.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc