vlist 3.3.4 → 3.3.6
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 +32 -32
- package/README.md +32 -32
- package/dist/index.js +1 -1
- package/dist/size.json +1 -1
- package/dist/synthetic.js +1 -1
- package/dist/version.json +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.
|
|
4
4
|
|
|
5
|
-
**v3.3.
|
|
5
|
+
**v3.3.6** — `scroll.mode` on the one `vlist` entry: the default, `"auto"`, scrolls natively and hands a list past the browser's size limit to synthetic input, which draws its own scrollbar. Vue, Svelte, Solid and React entries in the package itself (`vlist/vue`, `vlist/svelte`, `vlist/solid`, `vlist/react`), feature-first and tree-shaken like the vanilla builder; the separate adapter packages are deprecated. See the [changelog](https://github.com/floor/vlist/blob/main/CHANGELOG.md).
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/vlist)
|
|
8
8
|
[](https://bundlephobia.com/package/vlist)
|
|
@@ -11,7 +11,7 @@ The virtual list library for every framework. Ultra efficient, batteries-include
|
|
|
11
11
|
|
|
12
12
|
- **Accessible** — `a11y()` or a selection mode adds WAI-ARIA, 2D keyboard navigation, focus recovery, screen-reader DOM ordering
|
|
13
13
|
- **Zero dependencies** — framework-agnostic core, with Vue, Svelte, Solid and React entries in the same package
|
|
14
|
-
- **10.
|
|
14
|
+
- **10.4 KB gzipped** — composable plugins with perfect tree-shaking (Bundlephobia's badge measures the root entry with every plugin at once)
|
|
15
15
|
- **Constant memory** — ~0.1 MB overhead at any scale, from 10K to 1M+ items
|
|
16
16
|
- **Tree, grid, masonry, carousel, table, groups, data, selection, search, sortable, transition** — all opt-in
|
|
17
17
|
- **Axis-neutral** — vertical and horizontal scrolling through a single code path, all plugins work in both orientations
|
|
@@ -264,36 +264,36 @@ The touch-only `.vlist-item--touch-sort` class suppresses selection and callouts
|
|
|
264
264
|
|
|
265
265
|
| Entry / export | Minified | Gzipped |
|
|
266
266
|
|---|---:|---:|
|
|
267
|
-
| **Base (`vlist`)** |
|
|
268
|
-
| `vlist/synthetic` (deprecated) | 34.
|
|
269
|
-
| `vlist/native` (alias) |
|
|
270
|
-
| `a11y()` |
|
|
271
|
-
| `selection()` |
|
|
272
|
-
| `data()` |
|
|
273
|
-
| `scrollbar()` |
|
|
274
|
-
| `sortable()` | 39.
|
|
275
|
-
| `groups()` |
|
|
276
|
-
| `page()` |
|
|
277
|
-
| `snapshots()` |
|
|
278
|
-
| `transition()` |
|
|
279
|
-
| `autosize()` |
|
|
280
|
-
| `grid()` |
|
|
281
|
-
| `table()` |
|
|
282
|
-
| `masonry()` |
|
|
283
|
-
| `tree()` |
|
|
284
|
-
| `search()` |
|
|
285
|
-
| `carousel()` |
|
|
286
|
-
| `vlist/synthetic` + `carousel()` |
|
|
287
|
-
| `vlist/synthetic` + `sortable()` | 46.
|
|
288
|
-
| `vlist/vue` `useVList` |
|
|
289
|
-
| `vlist/svelte` `vlist` |
|
|
290
|
-
| `vlist/solid` `createVList` |
|
|
291
|
-
| `vlist/react` `useVList` |
|
|
292
|
-
| `vlist/react` + `grid()` |
|
|
293
|
-
|
|
294
|
-
Sizes are tree-shaken totals from `bun run size`, not additive plugin costs. Plugin rows include the native default factory plus that plugin; framework rows add the entry, with the framework itself external. The base is **10,
|
|
295
|
-
|
|
296
|
-
Bundlephobia's badge measures the package's root entry, which re-exports every plugin, minified and gzipped as one bundle. With a tree-shaking bundler, an app that imports named exports from `vlist` bundles the base (**10.
|
|
267
|
+
| **Base (`vlist`)** | 27.1 KB | 10.4 KB |
|
|
268
|
+
| `vlist/synthetic` (deprecated) | 34.0 KB | 13.0 KB |
|
|
269
|
+
| `vlist/native` (alias) | 27.1 KB | 10.4 KB |
|
|
270
|
+
| `a11y()` | 32.5 KB | 12.4 KB |
|
|
271
|
+
| `selection()` | 37.3 KB | 13.8 KB |
|
|
272
|
+
| `data()` | 40.8 KB | 15.2 KB |
|
|
273
|
+
| `scrollbar()` | 35.3 KB | 13.3 KB |
|
|
274
|
+
| `sortable()` | 39.1 KB | 14.1 KB |
|
|
275
|
+
| `groups()` | 43.5 KB | 15.9 KB |
|
|
276
|
+
| `page()` | 29.8 KB | 11.4 KB |
|
|
277
|
+
| `snapshots()` | 30.4 KB | 11.6 KB |
|
|
278
|
+
| `transition()` | 33.9 KB | 12.4 KB |
|
|
279
|
+
| `autosize()` | 31.5 KB | 12.0 KB |
|
|
280
|
+
| `grid()` | 34.9 KB | 13.1 KB |
|
|
281
|
+
| `table()` | 46.5 KB | 16.6 KB |
|
|
282
|
+
| `masonry()` | 39.5 KB | 14.9 KB |
|
|
283
|
+
| `tree()` | 43.4 KB | 15.8 KB |
|
|
284
|
+
| `search()` | 36.5 KB | 13.9 KB |
|
|
285
|
+
| `carousel()` | 43.4 KB | 16.0 KB |
|
|
286
|
+
| `vlist/synthetic` + `carousel()` | 49.5 KB | 18.3 KB |
|
|
287
|
+
| `vlist/synthetic` + `sortable()` | 46.0 KB | 16.7 KB |
|
|
288
|
+
| `vlist/vue` `useVList` | 27.5 KB | 10.6 KB |
|
|
289
|
+
| `vlist/svelte` `vlist` | 27.3 KB | 10.5 KB |
|
|
290
|
+
| `vlist/solid` `createVList` | 27.4 KB | 10.6 KB |
|
|
291
|
+
| `vlist/react` `useVList` | 27.6 KB | 10.6 KB |
|
|
292
|
+
| `vlist/react` + `grid()` | 35.3 KB | 13.3 KB |
|
|
293
|
+
|
|
294
|
+
Sizes are tree-shaken totals from `bun run size`, not additive plugin costs. Plugin rows include the native default factory plus that plugin; framework rows add the entry, with the framework itself external. The base is **10,672 bytes gzipped**, within the 10.6 KB budget (10,844 bytes). `bun run size` fails if a scenario fails to build, an unused plugin leaks into a bundle, or any published size exceeds its gzip budget. Synthetic input is **13,337 bytes** before plugins; with `scroll.mode`, a `vlist` list downloads the driver and its scrollbar as `synthetic-driver.js` (6.2 KB gzipped) only when it goes synthetic. The alias row measures the same source factory; the distributed alias re-exports it without duplicating the implementation.
|
|
295
|
+
|
|
296
|
+
Bundlephobia's badge measures the package's root entry, which re-exports every plugin, minified and gzipped as one bundle. With a tree-shaking bundler, an app that imports named exports from `vlist` bundles the base (**10.4 KB gzipped**) and the features it uses; the table's rows are each a combined size, not amounts to add up.
|
|
297
297
|
|
|
298
298
|
## Examples
|
|
299
299
|
|
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.
|
|
4
4
|
|
|
5
|
-
**v3.3.
|
|
5
|
+
**v3.3.6** — `scroll.mode` on the one `vlist` entry: the default, `"auto"`, scrolls natively and hands a list past the browser's size limit to synthetic input, which draws its own scrollbar. Vue, Svelte, Solid and React entries in the package itself (`vlist/vue`, `vlist/svelte`, `vlist/solid`, `vlist/react`), feature-first and tree-shaken like the vanilla builder; the separate adapter packages are deprecated. See the [changelog](https://github.com/floor/vlist/blob/main/CHANGELOG.md).
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/vlist)
|
|
8
8
|
[](https://bundlephobia.com/package/vlist)
|
|
@@ -11,7 +11,7 @@ The virtual list library for every framework. Ultra efficient, batteries-include
|
|
|
11
11
|
|
|
12
12
|
- **Accessible** — `a11y()` or a selection mode adds WAI-ARIA, 2D keyboard navigation, focus recovery, screen-reader DOM ordering
|
|
13
13
|
- **Zero dependencies** — framework-agnostic core, with Vue, Svelte, Solid and React entries in the same package
|
|
14
|
-
- **10.
|
|
14
|
+
- **10.4 KB gzipped** — composable plugins with perfect tree-shaking (Bundlephobia's badge measures the root entry with every plugin at once)
|
|
15
15
|
- **Constant memory** — ~0.1 MB overhead at any scale, from 10K to 1M+ items
|
|
16
16
|
- **Axis-neutral** — vertical and horizontal scrolling through a single code path, all plugins work in both orientations
|
|
17
17
|
|
|
@@ -131,36 +131,36 @@ The touch-only `.vlist-item--touch-sort` class suppresses selection and callouts
|
|
|
131
131
|
|
|
132
132
|
| Entry / export | Minified | Gzipped |
|
|
133
133
|
|---|---:|---:|
|
|
134
|
-
| **Base (`vlist`)** |
|
|
135
|
-
| `vlist/synthetic` (deprecated) | 34.
|
|
136
|
-
| `vlist/native` (alias) |
|
|
137
|
-
| `a11y()` |
|
|
138
|
-
| `selection()` |
|
|
139
|
-
| `data()` |
|
|
140
|
-
| `scrollbar()` |
|
|
141
|
-
| `sortable()` | 39.
|
|
142
|
-
| `groups()` |
|
|
143
|
-
| `page()` |
|
|
144
|
-
| `snapshots()` |
|
|
145
|
-
| `transition()` |
|
|
146
|
-
| `autosize()` |
|
|
147
|
-
| `grid()` |
|
|
148
|
-
| `table()` |
|
|
149
|
-
| `masonry()` |
|
|
150
|
-
| `tree()` |
|
|
151
|
-
| `search()` |
|
|
152
|
-
| `carousel()` |
|
|
153
|
-
| `vlist/synthetic` + `carousel()` |
|
|
154
|
-
| `vlist/synthetic` + `sortable()` | 46.
|
|
155
|
-
| `vlist/vue` `useVList` |
|
|
156
|
-
| `vlist/svelte` `vlist` |
|
|
157
|
-
| `vlist/solid` `createVList` |
|
|
158
|
-
| `vlist/react` `useVList` |
|
|
159
|
-
| `vlist/react` + `grid()` |
|
|
160
|
-
|
|
161
|
-
Sizes are tree-shaken totals from `bun run size`, not additive plugin costs. Plugin rows include the native default factory plus that plugin; framework rows add the entry, with the framework itself external. The base is **10,
|
|
162
|
-
|
|
163
|
-
Bundlephobia's badge measures the package's root entry, which re-exports every plugin, minified and gzipped as one bundle. With a tree-shaking bundler, an app that imports named exports from `vlist` bundles the base (**10.
|
|
134
|
+
| **Base (`vlist`)** | 27.1 KB | 10.4 KB |
|
|
135
|
+
| `vlist/synthetic` (deprecated) | 34.0 KB | 13.0 KB |
|
|
136
|
+
| `vlist/native` (alias) | 27.1 KB | 10.4 KB |
|
|
137
|
+
| `a11y()` | 32.5 KB | 12.4 KB |
|
|
138
|
+
| `selection()` | 37.3 KB | 13.8 KB |
|
|
139
|
+
| `data()` | 40.8 KB | 15.2 KB |
|
|
140
|
+
| `scrollbar()` | 35.3 KB | 13.3 KB |
|
|
141
|
+
| `sortable()` | 39.1 KB | 14.1 KB |
|
|
142
|
+
| `groups()` | 43.5 KB | 15.9 KB |
|
|
143
|
+
| `page()` | 29.8 KB | 11.4 KB |
|
|
144
|
+
| `snapshots()` | 30.4 KB | 11.6 KB |
|
|
145
|
+
| `transition()` | 33.9 KB | 12.4 KB |
|
|
146
|
+
| `autosize()` | 31.5 KB | 12.0 KB |
|
|
147
|
+
| `grid()` | 34.9 KB | 13.1 KB |
|
|
148
|
+
| `table()` | 46.5 KB | 16.6 KB |
|
|
149
|
+
| `masonry()` | 39.5 KB | 14.9 KB |
|
|
150
|
+
| `tree()` | 43.4 KB | 15.8 KB |
|
|
151
|
+
| `search()` | 36.5 KB | 13.9 KB |
|
|
152
|
+
| `carousel()` | 43.4 KB | 16.0 KB |
|
|
153
|
+
| `vlist/synthetic` + `carousel()` | 49.5 KB | 18.3 KB |
|
|
154
|
+
| `vlist/synthetic` + `sortable()` | 46.0 KB | 16.7 KB |
|
|
155
|
+
| `vlist/vue` `useVList` | 27.5 KB | 10.6 KB |
|
|
156
|
+
| `vlist/svelte` `vlist` | 27.3 KB | 10.5 KB |
|
|
157
|
+
| `vlist/solid` `createVList` | 27.4 KB | 10.6 KB |
|
|
158
|
+
| `vlist/react` `useVList` | 27.6 KB | 10.6 KB |
|
|
159
|
+
| `vlist/react` + `grid()` | 35.3 KB | 13.3 KB |
|
|
160
|
+
|
|
161
|
+
Sizes are tree-shaken totals from `bun run size`, not additive plugin costs. Plugin rows include the native default factory plus that plugin; framework rows add the entry, with the framework itself external. The base is **10,672 bytes gzipped**, within the 10.6 KB budget (10,844 bytes). `bun run size` fails if a scenario fails to build, an unused plugin leaks into a bundle, or any published size exceeds its gzip budget. Synthetic input is **13,337 bytes** before plugins; with `scroll.mode`, a `vlist` list downloads the driver and its scrollbar as `synthetic-driver.js` (6.2 KB gzipped) only when it goes synthetic. The alias row measures the same source factory; the distributed alias re-exports it without duplicating the implementation.
|
|
162
|
+
|
|
163
|
+
Bundlephobia's badge measures the package's root entry, which re-exports every plugin, minified and gzipped as one bundle. With a tree-shaking bundler, an app that imports named exports from `vlist` bundles the base (**10.4 KB gzipped**) and the features it uses; the table's rows are each a combined size, not amounts to add up.
|
|
164
164
|
|
|
165
165
|
`table()`'s `estimatedRowHeight` is deprecated in 3.3.0 and will be removed in 4.0
|
|
166
166
|
(#345). It remains accepted but does not size or measure rows; non-production
|