react-virtual-renderer 1.0.3
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 +170 -0
- package/dist/App.d.ts +3 -0
- package/dist/App.d.ts.map +1 -0
- package/dist/App.js +7 -0
- package/dist/App.js.map +1 -0
- package/dist/accessibility/a11y.d.ts +111 -0
- package/dist/accessibility/a11y.d.ts.map +1 -0
- package/dist/accessibility/a11y.js +254 -0
- package/dist/accessibility/a11y.js.map +1 -0
- package/dist/components/VirtualGrid.d.ts +8 -0
- package/dist/components/VirtualGrid.d.ts.map +1 -0
- package/dist/components/VirtualGrid.js +187 -0
- package/dist/components/VirtualGrid.js.map +1 -0
- package/dist/components/VirtualList.d.ts +8 -0
- package/dist/components/VirtualList.d.ts.map +1 -0
- package/dist/components/VirtualList.js +102 -0
- package/dist/components/VirtualList.js.map +1 -0
- package/dist/core/MeasurementSystem.d.ts +52 -0
- package/dist/core/MeasurementSystem.d.ts.map +1 -0
- package/dist/core/MeasurementSystem.js +138 -0
- package/dist/core/MeasurementSystem.js.map +1 -0
- package/dist/core/VirtualizationEngine.d.ts +65 -0
- package/dist/core/VirtualizationEngine.d.ts.map +1 -0
- package/dist/core/VirtualizationEngine.js +203 -0
- package/dist/core/VirtualizationEngine.js.map +1 -0
- package/dist/examples/AdvancedExamples.d.ts +24 -0
- package/dist/examples/AdvancedExamples.d.ts.map +1 -0
- package/dist/examples/AdvancedExamples.js +216 -0
- package/dist/examples/AdvancedExamples.js.map +1 -0
- package/dist/examples/Example.d.ts +26 -0
- package/dist/examples/Example.d.ts.map +1 -0
- package/dist/examples/Example.js +186 -0
- package/dist/examples/Example.js.map +1 -0
- package/dist/hooks/useInfiniteScroll.d.ts +17 -0
- package/dist/hooks/useInfiniteScroll.d.ts.map +1 -0
- package/dist/hooks/useInfiniteScroll.js +41 -0
- package/dist/hooks/useInfiniteScroll.js.map +1 -0
- package/dist/hooks/useLazyLoad.d.ts +16 -0
- package/dist/hooks/useLazyLoad.d.ts.map +1 -0
- package/dist/hooks/useLazyLoad.js +34 -0
- package/dist/hooks/useLazyLoad.js.map +1 -0
- package/dist/hooks/useScrollRestoration.d.ts +10 -0
- package/dist/hooks/useScrollRestoration.d.ts.map +1 -0
- package/dist/hooks/useScrollRestoration.js +63 -0
- package/dist/hooks/useScrollRestoration.js.map +1 -0
- package/dist/hooks/useVirtualList.d.ts +33 -0
- package/dist/hooks/useVirtualList.d.ts.map +1 -0
- package/dist/hooks/useVirtualList.js +226 -0
- package/dist/hooks/useVirtualList.js.map +1 -0
- package/dist/hooks/useVirtualizedSearch.d.ts +40 -0
- package/dist/hooks/useVirtualizedSearch.d.ts.map +1 -0
- package/dist/hooks/useVirtualizedSearch.js +168 -0
- package/dist/hooks/useVirtualizedSearch.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.js +11 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +6 -0
- package/dist/main.js.map +1 -0
- package/dist/performance/metrics.d.ts +110 -0
- package/dist/performance/metrics.d.ts.map +1 -0
- package/dist/performance/metrics.js +310 -0
- package/dist/performance/metrics.js.map +1 -0
- package/dist/plugin.d.ts +182 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +409 -0
- package/dist/plugin.js.map +1 -0
- package/dist/types.d.ts +84 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/helpers.d.ts +66 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +166 -0
- package/dist/utils/helpers.js.map +1 -0
- package/package.json +111 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Binary search to find the item at a given scroll offset
|
|
3
|
+
*/
|
|
4
|
+
export function binarySearch(offsets, target, low = 0, high = offsets.length - 1) {
|
|
5
|
+
while (low <= high) {
|
|
6
|
+
const mid = Math.floor((low + high) / 2);
|
|
7
|
+
const offset = offsets[mid];
|
|
8
|
+
if (offset === target) {
|
|
9
|
+
return mid;
|
|
10
|
+
}
|
|
11
|
+
else if (offset < target) {
|
|
12
|
+
low = mid + 1;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
high = mid - 1;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return Math.max(0, high);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Calculate range with overscan
|
|
22
|
+
*/
|
|
23
|
+
export function getOverscanRange(startIndex, endIndex, overscan, itemCount) {
|
|
24
|
+
return {
|
|
25
|
+
start: Math.max(0, startIndex - overscan),
|
|
26
|
+
end: Math.min(itemCount - 1, endIndex + overscan),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Debounce function
|
|
31
|
+
*/
|
|
32
|
+
export function debounce(fn, delay) {
|
|
33
|
+
let timeoutId = null;
|
|
34
|
+
return (...args) => {
|
|
35
|
+
if (timeoutId) {
|
|
36
|
+
clearTimeout(timeoutId);
|
|
37
|
+
}
|
|
38
|
+
timeoutId = setTimeout(() => {
|
|
39
|
+
fn(...args);
|
|
40
|
+
timeoutId = null;
|
|
41
|
+
}, delay);
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Throttle function
|
|
46
|
+
*/
|
|
47
|
+
export function throttle(fn, delay) {
|
|
48
|
+
let lastCall = 0;
|
|
49
|
+
let timeoutId = null;
|
|
50
|
+
return (...args) => {
|
|
51
|
+
const now = Date.now();
|
|
52
|
+
if (now - lastCall >= delay) {
|
|
53
|
+
fn(...args);
|
|
54
|
+
lastCall = now;
|
|
55
|
+
}
|
|
56
|
+
else if (!timeoutId) {
|
|
57
|
+
timeoutId = setTimeout(() => {
|
|
58
|
+
fn(...args);
|
|
59
|
+
lastCall = Date.now();
|
|
60
|
+
timeoutId = null;
|
|
61
|
+
}, delay - (now - lastCall));
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Request animation frame wrapper
|
|
67
|
+
*/
|
|
68
|
+
export function requestAnimationFrameWithFallback(callback) {
|
|
69
|
+
if (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {
|
|
70
|
+
return window.requestAnimationFrame(callback);
|
|
71
|
+
}
|
|
72
|
+
// Fallback for environments without RAF
|
|
73
|
+
return setTimeout(callback, 16);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Cancel animation frame with fallback
|
|
77
|
+
*/
|
|
78
|
+
export function cancelAnimationFrameWithFallback(id) {
|
|
79
|
+
if (typeof window !== 'undefined' && 'cancelAnimationFrame' in window) {
|
|
80
|
+
window.cancelAnimationFrame(id);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
clearTimeout(id);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Check if an element is visible in viewport
|
|
88
|
+
*/
|
|
89
|
+
export function isElementInViewport(element, container) {
|
|
90
|
+
const elementRect = element.getBoundingClientRect();
|
|
91
|
+
const containerRect = container.getBoundingClientRect();
|
|
92
|
+
return (elementRect.top >= containerRect.top &&
|
|
93
|
+
elementRect.left >= containerRect.left &&
|
|
94
|
+
elementRect.bottom <= containerRect.bottom &&
|
|
95
|
+
elementRect.right <= containerRect.right);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get scroll velocity
|
|
99
|
+
*/
|
|
100
|
+
export function calculateScrollVelocity(currentOffset, previousOffset, deltaTime) {
|
|
101
|
+
if (deltaTime === 0)
|
|
102
|
+
return 0;
|
|
103
|
+
return Math.abs(currentOffset - previousOffset) / deltaTime;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Clamp a value between min and max
|
|
107
|
+
*/
|
|
108
|
+
export function clamp(value, min, max) {
|
|
109
|
+
return Math.max(min, Math.min(max, value));
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Check if ResizeObserver is supported
|
|
113
|
+
*/
|
|
114
|
+
export function isResizeObserverSupported() {
|
|
115
|
+
return typeof window !== 'undefined' && 'ResizeObserver' in window;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Check if IntersectionObserver is supported
|
|
119
|
+
*/
|
|
120
|
+
export function isIntersectionObserverSupported() {
|
|
121
|
+
return typeof window !== 'undefined' && 'IntersectionObserver' in window;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Smooth scroll to position
|
|
125
|
+
*/
|
|
126
|
+
export function smoothScroll(element, targetScroll, duration = 300) {
|
|
127
|
+
return new Promise((resolve) => {
|
|
128
|
+
const startScroll = element.scrollTop;
|
|
129
|
+
const distance = targetScroll - startScroll;
|
|
130
|
+
const startTime = performance.now();
|
|
131
|
+
const easeInOutQuad = (t) => {
|
|
132
|
+
return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
|
|
133
|
+
};
|
|
134
|
+
const scroll = (currentTime) => {
|
|
135
|
+
const elapsed = currentTime - startTime;
|
|
136
|
+
const progress = Math.min(elapsed / duration, 1);
|
|
137
|
+
const easeProgress = easeInOutQuad(progress);
|
|
138
|
+
element.scrollTop = startScroll + distance * easeProgress;
|
|
139
|
+
if (progress < 1) {
|
|
140
|
+
requestAnimationFrameWithFallback(scroll);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
resolve();
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
requestAnimationFrameWithFallback(scroll);
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Create a unique key from index and item
|
|
151
|
+
*/
|
|
152
|
+
export function createItemKey(index, item, keyGetter) {
|
|
153
|
+
if (keyGetter) {
|
|
154
|
+
return keyGetter(index, item);
|
|
155
|
+
}
|
|
156
|
+
return index;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Log virtualization stats (for debugging)
|
|
160
|
+
*/
|
|
161
|
+
export function logVirtualizationStats(stats) {
|
|
162
|
+
if (typeof process !== 'undefined' && process.env.DEBUG_VIRTUALIZE) {
|
|
163
|
+
console.log(`[Virtualize] Items: ${stats.itemCount}, Visible: ${stats.visibleCount}, Rendered: ${stats.renderedCount}, Offset: ${stats.scrollOffset}/${stats.totalSize}`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,YAAY,CACxB,OAAiB,EACjB,MAAc,EACd,MAAc,CAAC,EACf,OAAe,OAAO,CAAC,MAAM,GAAG,CAAC;IAEjC,OAAO,GAAG,IAAI,IAAI,EAAE;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAE5B,IAAI,MAAM,KAAK,MAAM,EAAE;YACnB,OAAO,GAAG,CAAC;SACd;aAAM,IAAI,MAAM,GAAG,MAAM,EAAE;YACxB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;SACjB;aAAM;YACH,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;SAClB;KACJ;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC5B,UAAkB,EAClB,QAAgB,EAChB,QAAgB,EAChB,SAAiB;IAEjB,OAAO;QACH,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;QACzC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;KACpD,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CACpB,EAAK,EACL,KAAa;IAEb,IAAI,SAAS,GAA0B,IAAI,CAAC;IAE5C,OAAO,CAAC,GAAG,IAAmB,EAAE,EAAE;QAC9B,IAAI,SAAS,EAAE;YACX,YAAY,CAAC,SAAS,CAAC,CAAC;SAC3B;QAED,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACZ,SAAS,GAAG,IAAI,CAAC;QACrB,CAAC,EAAE,KAAK,CAAC,CAAC;IACd,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CACpB,EAAK,EACL,KAAa;IAEb,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,SAAS,GAA0B,IAAI,CAAC;IAE5C,OAAO,CAAC,GAAG,IAAmB,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,GAAG,GAAG,QAAQ,IAAI,KAAK,EAAE;YACzB,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACZ,QAAQ,GAAG,GAAG,CAAC;SAClB;aAAM,IAAI,CAAC,SAAS,EAAE;YACnB,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBACxB,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACZ,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACtB,SAAS,GAAG,IAAI,CAAC;YACrB,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC;SAChC;IACL,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAC7C,QAA8B;IAE9B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,uBAAuB,IAAI,MAAM,EAAE;QACpE,OAAO,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;KACjD;IAED,wCAAwC;IACxC,OAAO,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAQ,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,EAAU;IACvD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,sBAAsB,IAAI,MAAM,EAAE;QACnE,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;KACnC;SAAM;QACH,YAAY,CAAC,EAAE,CAAC,CAAC;KACpB;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAC/B,OAAoB,EACpB,SAAsB;IAEtB,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACpD,MAAM,aAAa,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;IAExD,OAAO,CACH,WAAW,CAAC,GAAG,IAAI,aAAa,CAAC,GAAG;QACpC,WAAW,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI;QACtC,WAAW,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM;QAC1C,WAAW,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAC3C,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACnC,aAAqB,EACrB,cAAsB,EACtB,SAAiB;IAEjB,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,cAAc,CAAC,GAAG,SAAS,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACzD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB;IACrC,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,gBAAgB,IAAI,MAAM,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B;IAC3C,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,sBAAsB,IAAI,MAAM,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CACxB,OAAoB,EACpB,YAAoB,EACpB,WAAmB,GAAG;IAEtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;QACtC,MAAM,QAAQ,GAAG,YAAY,GAAG,WAAW,CAAC;QAC5C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,MAAM,aAAa,GAAG,CAAC,CAAS,EAAE,EAAE;YAChC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,WAAmB,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YAE7C,OAAO,CAAC,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;YAE1D,IAAI,QAAQ,GAAG,CAAC,EAAE;gBACd,iCAAiC,CAAC,MAAM,CAAC,CAAC;aAC7C;iBAAM;gBACH,OAAO,EAAE,CAAC;aACb;QACL,CAAC,CAAC;QAEF,iCAAiC,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CACzB,KAAa,EACb,IAAO,EACP,SAAuD;IAEvD,IAAI,SAAS,EAAE;QACX,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KACjC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAMtC;IACG,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE;QAChE,OAAO,CAAC,GAAG,CACP,uBAAuB,KAAK,CAAC,SAAS,cAAc,KAAK,CAAC,YAAY,eAAe,KAAK,CAAC,aAAa,aAAa,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS,EAAE,CAC/J,CAAC;KACL;AACL,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "react-virtual-renderer",
|
|
3
|
+
"version": "1.0.3",
|
|
4
|
+
"description": "High-performance React virtualization library with dynamic sizing, bidirectional scrolling, and accessibility",
|
|
5
|
+
"author": "Rishabh Agarwal",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"main": "./dist/index.cjs",
|
|
10
|
+
"module": "./dist/index.esm.js",
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"import": "./dist/index.esm.js",
|
|
16
|
+
"require": "./dist/index.cjs"
|
|
17
|
+
},
|
|
18
|
+
"./performance": {
|
|
19
|
+
"types": "./dist/performance/metrics.d.ts",
|
|
20
|
+
"import": "./dist/performance/metrics.js"
|
|
21
|
+
},
|
|
22
|
+
"./accessibility": {
|
|
23
|
+
"types": "./dist/accessibility/a11y.d.ts",
|
|
24
|
+
"import": "./dist/accessibility/a11y.js"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"files": [
|
|
28
|
+
"dist",
|
|
29
|
+
"README.md",
|
|
30
|
+
"LICENSE"
|
|
31
|
+
],
|
|
32
|
+
"engines": {
|
|
33
|
+
"node": ">=18"
|
|
34
|
+
},
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "tsc && rollup -c",
|
|
37
|
+
"clean": "rm -rf dist",
|
|
38
|
+
"lint": "eslint src --ext .ts,.tsx",
|
|
39
|
+
"prepare": "npm run build",
|
|
40
|
+
"prepublishOnly": "npm run build"
|
|
41
|
+
},
|
|
42
|
+
"keywords": [
|
|
43
|
+
"react",
|
|
44
|
+
"react-virtual-renderer",
|
|
45
|
+
"react-virtualized",
|
|
46
|
+
"react-window",
|
|
47
|
+
"react-windowing",
|
|
48
|
+
"react-virtual-list",
|
|
49
|
+
"react-scroller",
|
|
50
|
+
"react-infinite-scroll",
|
|
51
|
+
"react-lazy-render",
|
|
52
|
+
"react-performance",
|
|
53
|
+
"virtualization",
|
|
54
|
+
"virtual-scroll",
|
|
55
|
+
"virtual-list",
|
|
56
|
+
"virtual-rendering",
|
|
57
|
+
"windowing",
|
|
58
|
+
"list-windowing",
|
|
59
|
+
"dom-windowing",
|
|
60
|
+
"infinite-scroll",
|
|
61
|
+
"lazy-loading",
|
|
62
|
+
"lazy-rendering",
|
|
63
|
+
"intersection-observer",
|
|
64
|
+
"large-list",
|
|
65
|
+
"large-dataset",
|
|
66
|
+
"big-data-ui",
|
|
67
|
+
"high-performance",
|
|
68
|
+
"dynamic-height",
|
|
69
|
+
"dynamic-sizing",
|
|
70
|
+
"variable-height",
|
|
71
|
+
"variable-size",
|
|
72
|
+
"grid",
|
|
73
|
+
"virtual-grid",
|
|
74
|
+
"masonry",
|
|
75
|
+
"masonry-layout",
|
|
76
|
+
"accessibility",
|
|
77
|
+
"a11y",
|
|
78
|
+
"wcag",
|
|
79
|
+
"aria",
|
|
80
|
+
"typescript",
|
|
81
|
+
"frontend",
|
|
82
|
+
"ui-performance"
|
|
83
|
+
],
|
|
84
|
+
"repository": {
|
|
85
|
+
"type": "git",
|
|
86
|
+
"url": "git+https://github.com/rishabh-agarwal-business/virtualize.git"
|
|
87
|
+
},
|
|
88
|
+
"bugs": {
|
|
89
|
+
"url": "https://github.com/rishabh-agarwal-business/virtualize/issues"
|
|
90
|
+
},
|
|
91
|
+
"homepage": "https://github.com/rishabh-agarwal-business/virtualize#readme",
|
|
92
|
+
"peerDependencies": {
|
|
93
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
94
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
95
|
+
},
|
|
96
|
+
"devDependencies": {
|
|
97
|
+
"@rollup/plugin-commonjs": "^29.0.3",
|
|
98
|
+
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
99
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
100
|
+
"@rollup/plugin-typescript": "^12.3.0",
|
|
101
|
+
"@testing-library/react": "^13.0.0",
|
|
102
|
+
"@types/node": "^25.9.1",
|
|
103
|
+
"@types/react": "^18.3.0",
|
|
104
|
+
"@types/react-dom": "^18.3.0",
|
|
105
|
+
"jest": "^29.0.0",
|
|
106
|
+
"react": "^18.3.1",
|
|
107
|
+
"react-dom": "^18.3.1",
|
|
108
|
+
"rollup": "^4.50.0",
|
|
109
|
+
"typescript": "^5.9.2"
|
|
110
|
+
}
|
|
111
|
+
}
|