vueye-table 3.0.0-beta.7 → 3.0.0-beta.8
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 +60 -16
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# vueye-table
|
|
2
2
|
|
|
3
|
-
`VueyeTable` and `VueyeGrid` support opt-in virtualization through `virtual`, `height`, `rowHeight` and `overscan`; grids also expose `virtualColumns` and `columnWidth`. Virtual tables default to no paging, with `paginate` available for large pages. The guide and runnable 100k-record example live in `docs/guide/virtualization.md` and `docs/examples/virtual-components.md`.
|
|
4
|
-
|
|
5
3
|
A Vue framework for data, data tables, and spreadsheets.
|
|
6
4
|
|
|
7
5
|
vueye-table began as a single table component. Version 3 is a rewrite around one idea: a table is
|
|
@@ -21,17 +19,42 @@ undo, clipboard, and export. Vue layers sit on top of it, and you pick the one t
|
|
|
21
19
|
Each layer depends only on the layers beneath it, and `vueye-table` re-exports all of them, so
|
|
22
20
|
one install covers every level.
|
|
23
21
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
>
|
|
22
|
+
<!-- current-release:start -->
|
|
23
|
+
|
|
24
|
+
> **Status:** `3.0.0-beta.8`, published on npm's `beta` and `latest` channels. The beta is for application
|
|
25
|
+
> feedback: documented import paths, options, events and slot scopes are kept stable, and a
|
|
26
|
+
> necessary breaking change ships with an ADR and migration notes. It is not production ready.
|
|
27
|
+
> See [the beta contract](https://github.com/boussadjra/vueye-table/blob/main/docs/guide/beta.md). The 2.x component lives on the
|
|
28
|
+
> [`legacy`](https://github.com/boussadjra/vueye-table/tree/legacy) branch; see
|
|
29
|
+
> [Upgrading from 2.x](https://github.com/boussadjra/vueye-table/blob/main/docs/guide/upgrading-from-2.md).
|
|
27
30
|
|
|
28
31
|
## Install
|
|
29
32
|
|
|
30
33
|
```bash
|
|
31
|
-
pnpm add vueye-table
|
|
34
|
+
pnpm add vueye-table@beta
|
|
32
35
|
```
|
|
33
36
|
|
|
34
|
-
|
|
37
|
+
Install an exact version such as `3.0.0-beta.8` to pin a release. Both `pnpm add vueye-table` and
|
|
38
|
+
`pnpm add vueye-table@beta` follow the current beta. Vue 3.5 or newer is a peer dependency.
|
|
39
|
+
|
|
40
|
+
<!-- current-release:end -->
|
|
41
|
+
|
|
42
|
+
## What the beta covers
|
|
43
|
+
|
|
44
|
+
- **Tables and spreadsheets**: search, column filters, multi-column sorting, pagination,
|
|
45
|
+
selection, column visibility, CSV/TSV export, and a spreadsheet grid with clipboard and undo.
|
|
46
|
+
- **Editing and validation**: inline cell and row editing in `VueyeTable`, typed and custom
|
|
47
|
+
editors, validation issues, dirty rows, revert, and a saved baseline you acknowledge.
|
|
48
|
+
- **Expansion and trees**: detail rows, nested and lazy-loaded children, tree search that keeps
|
|
49
|
+
matching branches.
|
|
50
|
+
- **Grouping and layout**: nested group rows, aggregate headers or footers, column resizing,
|
|
51
|
+
sticky columns and top/bottom row regions, including virtualized tables and grids.
|
|
52
|
+
- **Large data**: opt-in row and column virtualization for tables and grids, and incremental
|
|
53
|
+
streams, cursor loading, and cancellable sources.
|
|
54
|
+
- **Language and themes**: every word shown or announced comes from `messages`, numbers and
|
|
55
|
+
ordering follow `locale`, search ignores case and accents, and host design tokens win over
|
|
56
|
+
the defaults.
|
|
57
|
+
- **Server data**: `manual` mode hands searching, sorting and paging to your API.
|
|
35
58
|
|
|
36
59
|
## Full table
|
|
37
60
|
|
|
@@ -75,9 +98,16 @@ const selected = ref<readonly RowKey[]>([]);
|
|
|
75
98
|
Column ids are typed paths into your rows, so `format` above receives a `number`. Without
|
|
76
99
|
`columns`, columns are inferred from the data.
|
|
77
100
|
|
|
78
|
-
|
|
79
|
-
`hiddenColumns`,
|
|
80
|
-
|
|
101
|
+
The full components expose `v-model` bindings for `page`, `pageSize`, `sorting`, `search`,
|
|
102
|
+
`filters`, `hiddenColumns`, `selected`, `expanded`, `columnSizing`, `columnPinning`, `grouping`,
|
|
103
|
+
`expandedGroups` and `rowPinning`. Add `manual` and `row-count` to let a server search, sort,
|
|
104
|
+
and page, with the table presenting whatever page it returns.
|
|
105
|
+
|
|
106
|
+
Use `resizable-columns` for resize handles and `groupable` for ordered grouping controls.
|
|
107
|
+
`aggregate-position="footer"` moves group totals below their expanded leaves;
|
|
108
|
+
`row-pinning-controls` enables pin actions without enabling editing. See
|
|
109
|
+
[grouping](https://github.com/boussadjra/vueye-table/blob/main/docs/guide/grouping.md), [column layout](https://github.com/boussadjra/vueye-table/blob/main/docs/guide/columns.md) and
|
|
110
|
+
[row pinning](https://github.com/boussadjra/vueye-table/blob/main/docs/guide/row-pinning.md) for examples and model shapes.
|
|
81
111
|
|
|
82
112
|
## Spreadsheet
|
|
83
113
|
|
|
@@ -111,7 +141,8 @@ const table = useDataTable({ data: users, columns });
|
|
|
111
141
|
|
|
112
142
|
Headless components render semantic, accessible markup (`aria-sort`, `aria-selected`,
|
|
113
143
|
`aria-rowindex`, a polite live status, grid keyboard navigation) with `data-*` state attributes
|
|
114
|
-
and no styles.
|
|
144
|
+
and no styles. Components expose slot props and `data-*` state; primitives with an `as` prop
|
|
145
|
+
let you choose their element. Structural group and pinned-row composition retain native rows.
|
|
115
146
|
|
|
116
147
|
## Engine
|
|
117
148
|
|
|
@@ -152,21 +183,34 @@ The styled layer is driven by CSS custom properties on `.vt-surface`:
|
|
|
152
183
|
}
|
|
153
184
|
```
|
|
154
185
|
|
|
155
|
-
Dark colors follow `prefers-color-scheme`; `theme="dark"` or `theme="light"` forces one
|
|
156
|
-
|
|
186
|
+
Dark colors follow `prefers-color-scheme`; `theme="dark"` or `theme="light"` forces one, and
|
|
187
|
+
`theme="inherit"` declares no colors so the host's own tokens apply. The defaults have zero
|
|
188
|
+
specificity, so your tokens always win. Density is `compact`, `comfortable`, or `spacious`.
|
|
189
|
+
|
|
190
|
+
## Language
|
|
191
|
+
|
|
192
|
+
```vue
|
|
193
|
+
<VueyeTable :data="rows" :columns="columns" locale="fr" :messages="{ columns: 'Colonnes' }" />
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Every word a table shows or announces comes from `TableMessages`; whatever you leave out keeps its
|
|
197
|
+
English default. `app.use(VueyeTablePlugin, { locale, messages })` sets them for the whole
|
|
198
|
+
application. Arrow keys and chevrons mirror in right-to-left layouts.
|
|
157
199
|
|
|
158
200
|
## Development
|
|
159
201
|
|
|
160
202
|
```bash
|
|
161
203
|
pnpm install
|
|
162
204
|
pnpm playground # every layer, side by side
|
|
205
|
+
pnpm docs:dev # the documentation site
|
|
163
206
|
pnpm test # every Vitest project
|
|
164
207
|
pnpm check # format, lint, types, tests with coverage, build, boundaries, packages
|
|
208
|
+
pnpm docs:sync # sync current-release copy and the npm README from the package version
|
|
165
209
|
```
|
|
166
210
|
|
|
167
|
-
Architecture lives in [ARCHITECTURE.md](
|
|
168
|
-
[docs/adr](
|
|
211
|
+
Architecture lives in [ARCHITECTURE.md](https://github.com/boussadjra/vueye-table/blob/main/ARCHITECTURE.md) and decisions in
|
|
212
|
+
[docs/adr](https://github.com/boussadjra/vueye-table/blob/main/docs/adr).
|
|
169
213
|
|
|
170
214
|
## License
|
|
171
215
|
|
|
172
|
-
[MIT](
|
|
216
|
+
[MIT](https://github.com/boussadjra/vueye-table/blob/main/LICENSE)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vueye-table",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.8",
|
|
4
4
|
"description": "A Vue framework for data tables and spreadsheets: a complete, themeable data table and grid, plus every layer beneath them.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"data-grid",
|
|
@@ -42,10 +42,10 @@
|
|
|
42
42
|
"provenance": true
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@vueye-table/
|
|
46
|
-
"@vueye-table/
|
|
47
|
-
"@vueye-table/
|
|
48
|
-
"@vueye-table/
|
|
45
|
+
"@vueye-table/vue": "3.0.0-beta.8",
|
|
46
|
+
"@vueye-table/core": "3.0.0-beta.8",
|
|
47
|
+
"@vueye-table/headless": "3.0.0-beta.8",
|
|
48
|
+
"@vueye-table/styled": "3.0.0-beta.8"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"vue": "3.5.43",
|