vlist 2.1.2 → 2.2.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/README.github.md +4 -4
- package/README.md +4 -4
- package/dist/constants.d.ts +5 -0
- package/dist/index.js +1 -1
- package/dist/internals.js +1 -1
- package/dist/plugins/data/manager.d.ts +3 -0
- package/dist/plugins/table/index.d.ts +1 -1
- package/dist/plugins/table/layout.d.ts +6 -4
- package/dist/plugins/table/types.d.ts +25 -1
- package/dist/size.json +1 -1
- package/dist/vlist-table.css +1 -1
- package/package.json +1 -1
package/README.github.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
The virtual list library for every framework. Ultra efficient, batteries-included, and accessible with composable plugins — in 8.0 KB.
|
|
4
4
|
|
|
5
|
-
**v2.
|
|
5
|
+
**v2.2.0** — [Changelog](./CHANGELOG.md) · Table `fillWidth` (fills the container by default), async loading resilience (reload keeps placeholders, auto-retry with backoff), table placeholder skeletons.
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/vlist)
|
|
8
8
|
[](https://bundlephobia.com/package/vlist)
|
|
@@ -95,7 +95,7 @@ const list = createVList({
|
|
|
95
95
|
| Plugin | Size | Description |
|
|
96
96
|
|--------|------|-------------|
|
|
97
97
|
| **Base** | 8.0 KB | Virtualization, ARIA, keyboard nav, gap, padding |
|
|
98
|
-
| `data()` | +4.
|
|
98
|
+
| `data()` | +4.8 KB | Lazy loading with velocity-aware fetching |
|
|
99
99
|
| `selection()` | +2.5 KB | Single/multiple selection with 2D keyboard nav |
|
|
100
100
|
| `scale()` | +3.9 KB | 1M+ items via scroll compression |
|
|
101
101
|
| `groups()` | +5.2 KB | Sticky/inline headers with grid + masonry + table + data integration |
|
|
@@ -103,11 +103,11 @@ const list = createVList({
|
|
|
103
103
|
| `scrollbar()` | +2.0 KB | Custom scrollbar UI |
|
|
104
104
|
| `grid()` | +2.9 KB | 2D grid layout |
|
|
105
105
|
| `masonry()` | +3.7 KB | Pinterest-style masonry with lane-aware keyboard nav |
|
|
106
|
-
| `table()` | +6.
|
|
106
|
+
| `table()` | +6.2 KB | Data table with columns, resize, sort |
|
|
107
107
|
| `tree()` | +5.3 KB | Collapsible tree with async loading and indent guides |
|
|
108
108
|
| `page()` | +0.8 KB | Window-level scrolling |
|
|
109
109
|
| `sortable()` | +2.9 KB | Drag-and-drop reordering with auto-scroll |
|
|
110
|
-
| `snapshots()` | +1.
|
|
110
|
+
| `snapshots()` | +1.3 KB | Scroll position save/restore |
|
|
111
111
|
| `transition()` | +1.8 KB | FLIP-based enter/exit animations for insert & remove |
|
|
112
112
|
|
|
113
113
|
## Examples
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
The virtual list library for every framework. Ultra efficient, batteries-included, and accessible with composable plugins — in 8.0 KB.
|
|
4
4
|
|
|
5
|
-
**v2.
|
|
5
|
+
**v2.2.0** — [Changelog](https://github.com/floor/vlist/blob/main/CHANGELOG.md) · **New:** table `fillWidth` (fills the container by default), async loading resilience (reload keeps placeholders, auto-retry with backoff), and table placeholder skeletons.
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/vlist)
|
|
8
8
|
[](https://bundlephobia.com/package/vlist)
|
|
@@ -57,7 +57,7 @@ const list = createVList({ container: '#app', items, item: { height: 200, templa
|
|
|
57
57
|
| Plugin | Size | Description |
|
|
58
58
|
|--------|------|-------------|
|
|
59
59
|
| **Base** | 8.0 KB | Virtualization, ARIA, keyboard nav, gap, padding |
|
|
60
|
-
| `data()` | +4.
|
|
60
|
+
| `data()` | +4.8 KB | Lazy loading with velocity-aware fetching |
|
|
61
61
|
| `selection()` | +2.5 KB | Single/multiple selection with 2D keyboard nav |
|
|
62
62
|
| `scale()` | +3.9 KB | 1M+ items via scroll compression |
|
|
63
63
|
| `groups()` | +5.2 KB | Sticky/inline headers with grid + masonry + table + data integration |
|
|
@@ -65,10 +65,10 @@ const list = createVList({ container: '#app', items, item: { height: 200, templa
|
|
|
65
65
|
| `scrollbar()` | +2.0 KB | Custom scrollbar UI |
|
|
66
66
|
| `grid()` | +2.9 KB | 2D grid layout |
|
|
67
67
|
| `masonry()` | +3.7 KB | Pinterest-style masonry with lane-aware keyboard nav |
|
|
68
|
-
| `table()` | +6.
|
|
68
|
+
| `table()` | +6.2 KB | Data table with columns, resize, sort |
|
|
69
69
|
| `page()` | +0.8 KB | Window-level scrolling |
|
|
70
70
|
| `sortable()` | +2.9 KB | Drag-and-drop reordering with auto-scroll |
|
|
71
|
-
| `snapshots()` | +1.
|
|
71
|
+
| `snapshots()` | +1.3 KB | Scroll position save/restore |
|
|
72
72
|
| `transition()` | +1.8 KB | FLIP-based enter/exit animations for insert & remove |
|
|
73
73
|
|
|
74
74
|
## Framework Adapters
|
package/dist/constants.d.ts
CHANGED
|
@@ -27,6 +27,11 @@ export declare const PRELOAD_VELOCITY_THRESHOLD = 2;
|
|
|
27
27
|
export declare const LOAD_VELOCITY_THRESHOLD = 15;
|
|
28
28
|
/** Maximum concurrent chunk requests (0 = unlimited) */
|
|
29
29
|
export declare const MAX_CONCURRENT_LOADS = 6;
|
|
30
|
+
/** Initial delay before auto-retrying a failed load (ms) */
|
|
31
|
+
export declare const LOAD_RETRY_BASE_DELAY = 2000;
|
|
32
|
+
/** Maximum delay between auto-retries of a failed load (ms) — caps the
|
|
33
|
+
* exponential backoff so recovery stays responsive once the network returns */
|
|
34
|
+
export declare const LOAD_RETRY_MAX_DELAY = 30000;
|
|
30
35
|
/**
|
|
31
36
|
* Maximum virtual size in pixels along the main axis
|
|
32
37
|
* Most browsers support ~16.7M pixels, we use 16M for safety margin
|