@tanstack/solid-virtual 3.7.0 → 3.8.0
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/dist/cjs/index.cjs +4 -5
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +2 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +5 -10
- package/src/index.tsx +7 -7
package/dist/cjs/index.cjs
CHANGED
|
@@ -62,10 +62,9 @@ function createWindowVirtualizer(options) {
|
|
|
62
62
|
exports.createVirtualizer = createVirtualizer;
|
|
63
63
|
exports.createWindowVirtualizer = createWindowVirtualizer;
|
|
64
64
|
Object.keys(virtualCore).forEach((k) => {
|
|
65
|
-
if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k))
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
});
|
|
65
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
66
|
+
enumerable: true,
|
|
67
|
+
get: () => virtualCore[k]
|
|
68
|
+
});
|
|
70
69
|
});
|
|
71
70
|
//# sourceMappingURL=index.cjs.map
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/index.tsx"],"sourcesContent":["import {\n elementScroll,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/index.tsx"],"sourcesContent":["import {\n Virtualizer,\n elementScroll,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n windowScroll,\n} from '@tanstack/virtual-core'\n\nimport {\n createComputed,\n createSignal,\n mergeProps,\n onCleanup,\n onMount,\n} from 'solid-js'\nimport { createStore, reconcile } from 'solid-js/store'\nimport type { PartialKeys, VirtualizerOptions } from '@tanstack/virtual-core'\n\nexport * from '@tanstack/virtual-core'\n\nfunction createVirtualizerBase<\n TScrollElement extends Element | Window,\n TItemElement extends Element,\n>(\n options: VirtualizerOptions<TScrollElement, TItemElement>,\n): Virtualizer<TScrollElement, TItemElement> {\n const resolvedOptions: VirtualizerOptions<TScrollElement, TItemElement> =\n mergeProps(options)\n\n const instance = new Virtualizer<TScrollElement, TItemElement>(\n resolvedOptions,\n )\n\n const [virtualItems, setVirtualItems] = createStore(\n instance.getVirtualItems(),\n )\n const [totalSize, setTotalSize] = createSignal(instance.getTotalSize())\n\n const handler = {\n get(\n target: Virtualizer<TScrollElement, TItemElement>,\n prop: keyof Virtualizer<TScrollElement, TItemElement>,\n ) {\n switch (prop) {\n case 'getVirtualItems':\n return () => virtualItems\n case 'getTotalSize':\n return () => totalSize()\n default:\n return Reflect.get(target, prop)\n }\n },\n }\n\n const virtualizer = new Proxy(instance, handler)\n virtualizer.setOptions(resolvedOptions)\n\n onMount(() => {\n const cleanup = virtualizer._didMount()\n virtualizer._willUpdate()\n onCleanup(cleanup)\n })\n\n createComputed(() => {\n virtualizer.setOptions(\n mergeProps(resolvedOptions, options, {\n onChange: (\n instance: Virtualizer<TScrollElement, TItemElement>,\n sync: boolean,\n ) => {\n instance._willUpdate()\n setVirtualItems(\n reconcile(instance.getVirtualItems(), {\n key: 'index',\n }),\n )\n setTotalSize(instance.getTotalSize())\n options.onChange?.(instance, sync)\n },\n }),\n )\n virtualizer.measure()\n })\n\n return virtualizer\n}\n\nexport function createVirtualizer<\n TScrollElement extends Element,\n TItemElement extends Element,\n>(\n options: PartialKeys<\n VirtualizerOptions<TScrollElement, TItemElement>,\n 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'\n >,\n): Virtualizer<TScrollElement, TItemElement> {\n return createVirtualizerBase<TScrollElement, TItemElement>(\n mergeProps(\n {\n observeElementRect: observeElementRect,\n observeElementOffset: observeElementOffset,\n scrollToFn: elementScroll,\n },\n options,\n ),\n )\n}\n\nexport function createWindowVirtualizer<TItemElement extends Element>(\n options: PartialKeys<\n VirtualizerOptions<Window, TItemElement>,\n | 'getScrollElement'\n | 'observeElementRect'\n | 'observeElementOffset'\n | 'scrollToFn'\n >,\n): Virtualizer<Window, TItemElement> {\n return createVirtualizerBase<Window, TItemElement>(\n mergeProps(\n {\n getScrollElement: () =>\n typeof document !== 'undefined' ? window : null,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n initialOffset: () =>\n typeof document !== 'undefined' ? window.scrollY : 0,\n },\n options,\n ),\n )\n}\n"],"names":["createVirtualizerBase","options","resolvedOptions","mergeProps","instance","Virtualizer","virtualItems","setVirtualItems","createStore","getVirtualItems","totalSize","setTotalSize","createSignal","getTotalSize","handler","get","target","prop","Reflect","virtualizer","Proxy","setOptions","onMount","cleanup","_didMount","_willUpdate","onCleanup","createComputed","onChange","sync","reconcile","key","measure","createVirtualizer","observeElementRect","observeElementOffset","scrollToFn","elementScroll","createWindowVirtualizer","getScrollElement","document","window","observeWindowRect","observeWindowOffset","windowScroll","initialOffset","scrollY"],"mappings":";;;;;AAsBA,SAASA,sBAIPC,SAC2C;AACrCC,QAAAA,kBACJC,mBAAWF,OAAO;AAEdG,QAAAA,WAAW,IAAIC,wBACnBH,eACF;AAEA,QAAM,CAACI,cAAcC,eAAe,IAAIC,MACtCJ,YAAAA,SAASK,iBACX;AACA,QAAM,CAACC,WAAWC,YAAY,IAAIC,QAAaR,aAAAA,SAASS,cAAc;AAEtE,QAAMC,UAAU;AAAA,IACdC,IACEC,QACAC,MACA;AACA,cAAQA,MAAI;AAAA,QACV,KAAK;AACH,iBAAO,MAAMX;AAAAA,QACf,KAAK;AACH,iBAAO,MAAMI,UAAU;AAAA,QACzB;AACSQ,iBAAAA,QAAQH,IAAIC,QAAQC,IAAI;AAAA,MACnC;AAAA,IACF;AAAA,EAAA;AAGF,QAAME,cAAc,IAAIC,MAAMhB,UAAUU,OAAO;AAC/CK,cAAYE,WAAWnB,eAAe;AAEtCoB,UAAAA,QAAQ,MAAM;AACNC,UAAAA,UAAUJ,YAAYK;AAC5BL,gBAAYM,YAAY;AACxBC,YAAAA,UAAUH,OAAO;AAAA,EAAA,CAClB;AAEDI,UAAAA,eAAe,MAAM;AACPN,gBAAAA,WACVlB,mBAAWD,iBAAiBD,SAAS;AAAA,MACnC2B,UAAUA,CACRxB,WACAyB,SACG;;AACHzB,kBAASqB,YAAY;AAEnBK,wBAAAA,MAAAA,UAAU1B,UAASK,mBAAmB;AAAA,UACpCsB,KAAK;AAAA,QACN,CAAA,CACH;AACa3B,qBAAAA,UAASS,cAAc;AAC5Be,sBAAAA,aAAAA,iCAAWxB,WAAUyB;AAAAA,MAC/B;AAAA,IACD,CAAA,CACH;AACAV,gBAAYa,QAAQ;AAAA,EAAA,CACrB;AAEMb,SAAAA;AACT;AAEO,SAASc,kBAIdhC,SAI2C;AAC3C,SAAOD,sBACLG,QAAAA,WACE;AAAA,IAAA,oBACE+B,YAAAA;AAAAA,IAAAA,sBACAC,YAAAA;AAAAA,IACAC,YAAYC,YAAAA;AAAAA,EAAAA,GAEdpC,OACF,CACF;AACF;AAEO,SAASqC,wBACdrC,SAOmC;AACnC,SAAOD,sBACLG,QAAAA,WACE;AAAA,IACEoC,kBAAkBA,MAChB,OAAOC,aAAa,cAAcC,SAAS;AAAA,IAC7CP,oBAAoBQ,YAAAA;AAAAA,IACpBP,sBAAsBQ,YAAAA;AAAAA,IACtBP,YAAYQ,YAAAA;AAAAA,IACZC,eAAeA,MACb,OAAOL,aAAa,cAAcC,OAAOK,UAAU;AAAA,EAAA,GAEvD7C,OACF,CACF;AACF;;;;;;;;;"}
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Virtualizer, PartialKeys, VirtualizerOptions } from '@tanstack/virtual-core';
|
|
2
|
+
|
|
2
3
|
export * from '@tanstack/virtual-core';
|
|
3
4
|
export declare function createVirtualizer<TScrollElement extends Element, TItemElement extends Element>(options: PartialKeys<VirtualizerOptions<TScrollElement, TItemElement>, 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'>): Virtualizer<TScrollElement, TItemElement>;
|
|
4
5
|
export declare function createWindowVirtualizer<TItemElement extends Element>(options: PartialKeys<VirtualizerOptions<Window, TItemElement>, 'getScrollElement' | 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'>): Virtualizer<Window, TItemElement>;
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Virtualizer, PartialKeys, VirtualizerOptions } from '@tanstack/virtual-core';
|
|
2
|
+
|
|
2
3
|
export * from '@tanstack/virtual-core';
|
|
3
4
|
export declare function createVirtualizer<TScrollElement extends Element, TItemElement extends Element>(options: PartialKeys<VirtualizerOptions<TScrollElement, TItemElement>, 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'>): Virtualizer<TScrollElement, TItemElement>;
|
|
4
5
|
export declare function createWindowVirtualizer<TItemElement extends Element>(options: PartialKeys<VirtualizerOptions<Window, TItemElement>, 'getScrollElement' | 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'>): Virtualizer<Window, TItemElement>;
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/index.tsx"],"sourcesContent":["import {\n elementScroll,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/index.tsx"],"sourcesContent":["import {\n Virtualizer,\n elementScroll,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n windowScroll,\n} from '@tanstack/virtual-core'\n\nimport {\n createComputed,\n createSignal,\n mergeProps,\n onCleanup,\n onMount,\n} from 'solid-js'\nimport { createStore, reconcile } from 'solid-js/store'\nimport type { PartialKeys, VirtualizerOptions } from '@tanstack/virtual-core'\n\nexport * from '@tanstack/virtual-core'\n\nfunction createVirtualizerBase<\n TScrollElement extends Element | Window,\n TItemElement extends Element,\n>(\n options: VirtualizerOptions<TScrollElement, TItemElement>,\n): Virtualizer<TScrollElement, TItemElement> {\n const resolvedOptions: VirtualizerOptions<TScrollElement, TItemElement> =\n mergeProps(options)\n\n const instance = new Virtualizer<TScrollElement, TItemElement>(\n resolvedOptions,\n )\n\n const [virtualItems, setVirtualItems] = createStore(\n instance.getVirtualItems(),\n )\n const [totalSize, setTotalSize] = createSignal(instance.getTotalSize())\n\n const handler = {\n get(\n target: Virtualizer<TScrollElement, TItemElement>,\n prop: keyof Virtualizer<TScrollElement, TItemElement>,\n ) {\n switch (prop) {\n case 'getVirtualItems':\n return () => virtualItems\n case 'getTotalSize':\n return () => totalSize()\n default:\n return Reflect.get(target, prop)\n }\n },\n }\n\n const virtualizer = new Proxy(instance, handler)\n virtualizer.setOptions(resolvedOptions)\n\n onMount(() => {\n const cleanup = virtualizer._didMount()\n virtualizer._willUpdate()\n onCleanup(cleanup)\n })\n\n createComputed(() => {\n virtualizer.setOptions(\n mergeProps(resolvedOptions, options, {\n onChange: (\n instance: Virtualizer<TScrollElement, TItemElement>,\n sync: boolean,\n ) => {\n instance._willUpdate()\n setVirtualItems(\n reconcile(instance.getVirtualItems(), {\n key: 'index',\n }),\n )\n setTotalSize(instance.getTotalSize())\n options.onChange?.(instance, sync)\n },\n }),\n )\n virtualizer.measure()\n })\n\n return virtualizer\n}\n\nexport function createVirtualizer<\n TScrollElement extends Element,\n TItemElement extends Element,\n>(\n options: PartialKeys<\n VirtualizerOptions<TScrollElement, TItemElement>,\n 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'\n >,\n): Virtualizer<TScrollElement, TItemElement> {\n return createVirtualizerBase<TScrollElement, TItemElement>(\n mergeProps(\n {\n observeElementRect: observeElementRect,\n observeElementOffset: observeElementOffset,\n scrollToFn: elementScroll,\n },\n options,\n ),\n )\n}\n\nexport function createWindowVirtualizer<TItemElement extends Element>(\n options: PartialKeys<\n VirtualizerOptions<Window, TItemElement>,\n | 'getScrollElement'\n | 'observeElementRect'\n | 'observeElementOffset'\n | 'scrollToFn'\n >,\n): Virtualizer<Window, TItemElement> {\n return createVirtualizerBase<Window, TItemElement>(\n mergeProps(\n {\n getScrollElement: () =>\n typeof document !== 'undefined' ? window : null,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n initialOffset: () =>\n typeof document !== 'undefined' ? window.scrollY : 0,\n },\n options,\n ),\n )\n}\n"],"names":["createVirtualizerBase","options","resolvedOptions","mergeProps","instance","Virtualizer","virtualItems","setVirtualItems","createStore","getVirtualItems","totalSize","setTotalSize","createSignal","getTotalSize","handler","get","target","prop","Reflect","virtualizer","Proxy","setOptions","onMount","cleanup","_didMount","_willUpdate","onCleanup","createComputed","onChange","sync","reconcile","key","measure","createVirtualizer","observeElementRect","observeElementOffset","scrollToFn","elementScroll","createWindowVirtualizer","getScrollElement","document","window","observeWindowRect","observeWindowOffset","windowScroll","initialOffset","scrollY"],"mappings":";;;;AAsBA,SAASA,sBAIPC,SAC2C;AACrCC,QAAAA,kBACJC,WAAWF,OAAO;AAEdG,QAAAA,WAAW,IAAIC,YACnBH,eACF;AAEA,QAAM,CAACI,cAAcC,eAAe,IAAIC,YACtCJ,SAASK,iBACX;AACA,QAAM,CAACC,WAAWC,YAAY,IAAIC,aAAaR,SAASS,cAAc;AAEtE,QAAMC,UAAU;AAAA,IACdC,IACEC,QACAC,MACA;AACA,cAAQA,MAAI;AAAA,QACV,KAAK;AACH,iBAAO,MAAMX;AAAAA,QACf,KAAK;AACH,iBAAO,MAAMI,UAAU;AAAA,QACzB;AACSQ,iBAAAA,QAAQH,IAAIC,QAAQC,IAAI;AAAA,MACnC;AAAA,IACF;AAAA,EAAA;AAGF,QAAME,cAAc,IAAIC,MAAMhB,UAAUU,OAAO;AAC/CK,cAAYE,WAAWnB,eAAe;AAEtCoB,UAAQ,MAAM;AACNC,UAAAA,UAAUJ,YAAYK;AAC5BL,gBAAYM,YAAY;AACxBC,cAAUH,OAAO;AAAA,EAAA,CAClB;AAEDI,iBAAe,MAAM;AACPN,gBAAAA,WACVlB,WAAWD,iBAAiBD,SAAS;AAAA,MACnC2B,UAAUA,CACRxB,WACAyB,SACG;;AACHzB,kBAASqB,YAAY;AAEnBK,wBAAAA,UAAU1B,UAASK,mBAAmB;AAAA,UACpCsB,KAAK;AAAA,QACN,CAAA,CACH;AACa3B,qBAAAA,UAASS,cAAc;AAC5Be,sBAAAA,aAAAA,iCAAWxB,WAAUyB;AAAAA,MAC/B;AAAA,IACD,CAAA,CACH;AACAV,gBAAYa,QAAQ;AAAA,EAAA,CACrB;AAEMb,SAAAA;AACT;AAEO,SAASc,kBAIdhC,SAI2C;AAC3C,SAAOD,sBACLG,WACE;AAAA,IACE+B;AAAAA,IACAC;AAAAA,IACAC,YAAYC;AAAAA,EAAAA,GAEdpC,OACF,CACF;AACF;AAEO,SAASqC,wBACdrC,SAOmC;AACnC,SAAOD,sBACLG,WACE;AAAA,IACEoC,kBAAkBA,MAChB,OAAOC,aAAa,cAAcC,SAAS;AAAA,IAC7CP,oBAAoBQ;AAAAA,IACpBP,sBAAsBQ;AAAAA,IACtBP,YAAYQ;AAAAA,IACZC,eAAeA,MACb,OAAOL,aAAa,cAAcC,OAAOK,UAAU;AAAA,EAAA,GAEvD7C,OACF,CACF;AACF;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/solid-virtual",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.8.0",
|
|
4
4
|
"description": "Headless UI for virtualizing scrollable elements in Solid",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -44,19 +44,14 @@
|
|
|
44
44
|
"src"
|
|
45
45
|
],
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@tanstack/virtual-core": "3.
|
|
47
|
+
"@tanstack/virtual-core": "3.8.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"solid-js": "^1.
|
|
51
|
-
"vite-plugin-solid": "^2.10.
|
|
50
|
+
"solid-js": "^1.8.18",
|
|
51
|
+
"vite-plugin-solid": "^2.10.2"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
54
|
"solid-js": "^1.3.0"
|
|
55
55
|
},
|
|
56
|
-
"scripts": {
|
|
57
|
-
"clean": "rimraf ./dist && rimraf ./coverage",
|
|
58
|
-
"test:types": "tsc",
|
|
59
|
-
"test:build": "publint --strict",
|
|
60
|
-
"build": "vite build"
|
|
61
|
-
}
|
|
56
|
+
"scripts": {}
|
|
62
57
|
}
|
package/src/index.tsx
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import {
|
|
2
|
+
Virtualizer,
|
|
2
3
|
elementScroll,
|
|
3
4
|
observeElementOffset,
|
|
4
5
|
observeElementRect,
|
|
5
6
|
observeWindowOffset,
|
|
6
7
|
observeWindowRect,
|
|
7
|
-
PartialKeys,
|
|
8
|
-
Virtualizer,
|
|
9
|
-
VirtualizerOptions,
|
|
10
8
|
windowScroll,
|
|
11
9
|
} from '@tanstack/virtual-core'
|
|
12
|
-
export * from '@tanstack/virtual-core'
|
|
13
10
|
|
|
14
11
|
import {
|
|
15
|
-
createSignal,
|
|
16
|
-
onMount,
|
|
17
|
-
onCleanup,
|
|
18
12
|
createComputed,
|
|
13
|
+
createSignal,
|
|
19
14
|
mergeProps,
|
|
15
|
+
onCleanup,
|
|
16
|
+
onMount,
|
|
20
17
|
} from 'solid-js'
|
|
21
18
|
import { createStore, reconcile } from 'solid-js/store'
|
|
19
|
+
import type { PartialKeys, VirtualizerOptions } from '@tanstack/virtual-core'
|
|
20
|
+
|
|
21
|
+
export * from '@tanstack/virtual-core'
|
|
22
22
|
|
|
23
23
|
function createVirtualizerBase<
|
|
24
24
|
TScrollElement extends Element | Window,
|