@spectrum-web-components/table 0.37.0 → 0.39.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.md +295 -24
- package/custom-elements.json +101 -0
- package/package.json +8 -8
- package/src/Table.d.ts +12 -0
- package/src/Table.dev.js +27 -7
- package/src/Table.dev.js.map +2 -2
- package/src/Table.js +12 -12
- package/src/Table.js.map +3 -3
- package/src/TableCheckboxCell.d.ts +5 -0
- package/src/TableCheckboxCell.dev.js +10 -3
- package/src/TableCheckboxCell.dev.js.map +2 -2
- package/src/TableCheckboxCell.js +3 -2
- package/src/TableCheckboxCell.js.map +3 -3
- package/src/TableHeadCell.dev.js +3 -2
- package/src/TableHeadCell.dev.js.map +2 -2
- package/src/TableHeadCell.js +4 -4
- package/src/TableHeadCell.js.map +3 -3
- package/src/spectrum-config.js +124 -4
- package/src/spectrum-table-body.css.dev.js +9 -9
- package/src/spectrum-table-body.css.dev.js.map +1 -1
- package/src/spectrum-table-body.css.js +11 -11
- package/src/spectrum-table-body.css.js.map +1 -1
- package/src/spectrum-table-cell.css.dev.js +59 -15
- package/src/spectrum-table-cell.css.dev.js.map +2 -2
- package/src/spectrum-table-cell.css.js +61 -17
- package/src/spectrum-table-cell.css.js.map +2 -2
- package/src/spectrum-table-checkbox-cell.css.dev.js +101 -3
- package/src/spectrum-table-checkbox-cell.css.dev.js.map +2 -2
- package/src/spectrum-table-checkbox-cell.css.js +103 -5
- package/src/spectrum-table-checkbox-cell.css.js.map +2 -2
- package/src/spectrum-table-head-cell.css.dev.js +102 -32
- package/src/spectrum-table-head-cell.css.dev.js.map +2 -2
- package/src/spectrum-table-head-cell.css.js +104 -34
- package/src/spectrum-table-head-cell.css.js.map +2 -2
- package/src/spectrum-table-head.css.dev.js +1 -1
- package/src/spectrum-table-head.css.dev.js.map +1 -1
- package/src/spectrum-table-head.css.js +1 -1
- package/src/spectrum-table-head.css.js.map +1 -1
- package/src/spectrum-table-row.css.dev.js +199 -27
- package/src/spectrum-table-row.css.dev.js.map +2 -2
- package/src/spectrum-table-row.css.js +201 -29
- package/src/spectrum-table-row.css.js.map +2 -2
- package/src/spectrum-table.css.dev.js +247 -325
- package/src/spectrum-table.css.dev.js.map +2 -2
- package/src/spectrum-table.css.js +249 -327
- package/src/spectrum-table.css.js.map +2 -2
- package/src/table-body.css.dev.js +17 -9
- package/src/table-body.css.dev.js.map +2 -2
- package/src/table-body.css.js +17 -9
- package/src/table-body.css.js.map +2 -2
- package/src/table-cell.css.dev.js +59 -15
- package/src/table-cell.css.dev.js.map +2 -2
- package/src/table-cell.css.js +61 -17
- package/src/table-cell.css.js.map +2 -2
- package/src/table-checkbox-cell.css.dev.js +101 -3
- package/src/table-checkbox-cell.css.dev.js.map +2 -2
- package/src/table-checkbox-cell.css.js +101 -3
- package/src/table-checkbox-cell.css.js.map +2 -2
- package/src/table-head-cell.css.dev.js +103 -33
- package/src/table-head-cell.css.dev.js.map +2 -2
- package/src/table-head-cell.css.js +105 -35
- package/src/table-head-cell.css.js.map +2 -2
- package/src/table-head.css.dev.js +1 -1
- package/src/table-head.css.dev.js.map +1 -1
- package/src/table-head.css.js +1 -1
- package/src/table-head.css.js.map +1 -1
- package/src/table-row.css.dev.js +199 -27
- package/src/table-row.css.dev.js.map +2 -2
- package/src/table-row.css.js +201 -29
- package/src/table-row.css.js.map +2 -2
- package/src/table.css.dev.js +247 -325
- package/src/table.css.dev.js.map +2 -2
- package/src/table.css.js +249 -327
- package/src/table.css.js.map +2 -2
- package/stories/table-elements.stories.js +40 -4
- package/stories/table-elements.stories.js.map +2 -2
- package/test/helpers.js +18 -0
- package/test/helpers.js.map +7 -0
- package/test/table-selects.test.js +2 -16
- package/test/table-selects.test.js.map +2 -2
- package/test/table.test.js +42 -24
- package/test/table.test.js.map +2 -2
- package/test/virtualized-table-selects.test.js +15 -46
- package/test/virtualized-table-selects.test.js.map +2 -2
- package/test/virtualized-table.test.js +4 -27
- package/test/virtualized-table.test.js.map +2 -2
package/README.md
CHANGED
|
@@ -45,10 +45,8 @@ import {
|
|
|
45
45
|
|
|
46
46
|
## Example
|
|
47
47
|
|
|
48
|
-
To ensure that the table scrolls, make sure to add a `style` attribute to `<sp-table>` with your desired height. Otherwise, the table will automatically show all its items.
|
|
49
|
-
|
|
50
48
|
```html
|
|
51
|
-
<sp-table
|
|
49
|
+
<sp-table>
|
|
52
50
|
<sp-table-head>
|
|
53
51
|
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
54
52
|
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
@@ -94,10 +92,8 @@ When `selects="single"`, the `<sp-table>` will manage a _single_ selection in th
|
|
|
94
92
|
|
|
95
93
|
```html
|
|
96
94
|
<sp-table
|
|
97
|
-
size="m"
|
|
98
95
|
selects="single"
|
|
99
96
|
selected='["row1"]'
|
|
100
|
-
style="height: 200px"
|
|
101
97
|
onchange="spAlert(this, `Selected: ${JSON.stringify(this.selected)}`)"
|
|
102
98
|
>
|
|
103
99
|
<sp-table-head>
|
|
@@ -137,12 +133,10 @@ When `selects="single"`, the `<sp-table>` will manage a _single_ selection in th
|
|
|
137
133
|
|
|
138
134
|
### `selects="multiple"`
|
|
139
135
|
|
|
140
|
-
When `selects="multiple"`, the `<sp-table>`
|
|
136
|
+
When `selects="multiple"`, the `<sp-table>` manages selections via a presence toggle and adds them to the `selected` array. Additionally, an `<sp-table-checkbox-cell>` will be made available in the `<sp-table-head>` in order to select/deselect all items in the `<sp-table>`.
|
|
141
137
|
|
|
142
138
|
```html
|
|
143
139
|
<sp-table
|
|
144
|
-
size="m"
|
|
145
|
-
style="height: 200px"
|
|
146
140
|
selects="multiple"
|
|
147
141
|
selected='["row1", "row2"]'
|
|
148
142
|
onchange="spAlert(this, `Selected: ${JSON.stringify(this.selected)}`)"
|
|
@@ -182,13 +176,273 @@ When `selects="multiple"`, the `<sp-table>` will manage a selection in the array
|
|
|
182
176
|
</sp-table>
|
|
183
177
|
```
|
|
184
178
|
|
|
179
|
+
## Emphasized
|
|
180
|
+
|
|
181
|
+
Use the `emphasized` attribute to add priority to the information that is delivered within your `<table>` element. In particular, this affects the appearance of selected rows, and will set the emphasized style for the checkboxes within `sp-table-checkbox-cell`.
|
|
182
|
+
Leaving off the `emphasized` attribute will display the non-emphasized colors.
|
|
183
|
+
|
|
184
|
+
```html
|
|
185
|
+
<sp-table emphasized selects="multiple" selected='["row1"]'>
|
|
186
|
+
<sp-table-head>
|
|
187
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
188
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
189
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
190
|
+
</sp-table-head>
|
|
191
|
+
<sp-table-body>
|
|
192
|
+
<sp-table-row value="row1">
|
|
193
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
194
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
195
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
196
|
+
</sp-table-row>
|
|
197
|
+
<sp-table-row value="row2">
|
|
198
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
199
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
200
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
201
|
+
</sp-table-row>
|
|
202
|
+
<sp-table-row value="row3">
|
|
203
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
204
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
205
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
206
|
+
</sp-table-row>
|
|
207
|
+
</sp-table-body>
|
|
208
|
+
</sp-table>
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## Density
|
|
212
|
+
|
|
213
|
+
The optional `density` property changes the spacing around table cell content from the "regular" default. It accepts the values of `compact` or `spacious`.
|
|
214
|
+
|
|
215
|
+
<sp-tabs selected="compact" auto label="Density Attribute Options">
|
|
216
|
+
<sp-tab value="compact">Compact</sp-tab>
|
|
217
|
+
<sp-tab-panel value="compact">
|
|
218
|
+
|
|
219
|
+
```html
|
|
220
|
+
<sp-table density="compact">
|
|
221
|
+
<sp-table-head>
|
|
222
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
223
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
224
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
225
|
+
</sp-table-head>
|
|
226
|
+
<sp-table-body>
|
|
227
|
+
<sp-table-row value="row1">
|
|
228
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
229
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
230
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
231
|
+
</sp-table-row>
|
|
232
|
+
<sp-table-row value="row2">
|
|
233
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
234
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
235
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
236
|
+
</sp-table-row>
|
|
237
|
+
<sp-table-row value="row3">
|
|
238
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
239
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
240
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
241
|
+
</sp-table-row>
|
|
242
|
+
</sp-table-body>
|
|
243
|
+
</sp-table>
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
</sp-tab-panel>
|
|
247
|
+
<sp-tab value="spacious">Spacious</sp-tab>
|
|
248
|
+
<sp-tab-panel value="spacious">
|
|
249
|
+
|
|
250
|
+
```html
|
|
251
|
+
<sp-table density="spacious">
|
|
252
|
+
<sp-table-head>
|
|
253
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
254
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
255
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
256
|
+
</sp-table-head>
|
|
257
|
+
<sp-table-body>
|
|
258
|
+
<sp-table-row value="row1">
|
|
259
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
260
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
261
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
262
|
+
</sp-table-row>
|
|
263
|
+
<sp-table-row value="row2">
|
|
264
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
265
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
266
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
267
|
+
</sp-table-row>
|
|
268
|
+
<sp-table-row value="row3">
|
|
269
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
270
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
271
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
272
|
+
</sp-table-row>
|
|
273
|
+
</sp-table-body>
|
|
274
|
+
</sp-table>
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
</sp-tab-panel>
|
|
278
|
+
</sp-tabs>
|
|
279
|
+
|
|
280
|
+
## Sizes
|
|
281
|
+
|
|
282
|
+
<sp-tabs selected="s" auto label="Size Attribute Options">
|
|
283
|
+
<sp-tab value="s">Small</sp-tab>
|
|
284
|
+
<sp-tab-panel value="s">
|
|
285
|
+
|
|
286
|
+
```html
|
|
287
|
+
<sp-table size="s">
|
|
288
|
+
<sp-table-head>
|
|
289
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
290
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
291
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
292
|
+
</sp-table-head>
|
|
293
|
+
<sp-table-body>
|
|
294
|
+
<sp-table-row value="row1">
|
|
295
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
296
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
297
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
298
|
+
</sp-table-row>
|
|
299
|
+
<sp-table-row value="row2">
|
|
300
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
301
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
302
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
303
|
+
</sp-table-row>
|
|
304
|
+
<sp-table-row value="row3">
|
|
305
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
306
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
307
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
308
|
+
</sp-table-row>
|
|
309
|
+
</sp-table-body>
|
|
310
|
+
</sp-table>
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
</sp-tab-panel>
|
|
314
|
+
<sp-tab value="m">Medium (Default)</sp-tab>
|
|
315
|
+
<sp-tab-panel value="m">
|
|
316
|
+
|
|
317
|
+
```html
|
|
318
|
+
<sp-table>
|
|
319
|
+
<sp-table-head>
|
|
320
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
321
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
322
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
323
|
+
</sp-table-head>
|
|
324
|
+
<sp-table-body>
|
|
325
|
+
<sp-table-row value="row1">
|
|
326
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
327
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
328
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
329
|
+
</sp-table-row>
|
|
330
|
+
<sp-table-row value="row2">
|
|
331
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
332
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
333
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
334
|
+
</sp-table-row>
|
|
335
|
+
<sp-table-row value="row3">
|
|
336
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
337
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
338
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
339
|
+
</sp-table-row>
|
|
340
|
+
</sp-table-body>
|
|
341
|
+
</sp-table>
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
</sp-tab-panel>
|
|
345
|
+
<sp-tab value="l">Large</sp-tab>
|
|
346
|
+
<sp-tab-panel value="l">
|
|
347
|
+
|
|
348
|
+
```html
|
|
349
|
+
<sp-table size="l">
|
|
350
|
+
<sp-table-head>
|
|
351
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
352
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
353
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
354
|
+
</sp-table-head>
|
|
355
|
+
<sp-table-body>
|
|
356
|
+
<sp-table-row value="row1">
|
|
357
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
358
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
359
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
360
|
+
</sp-table-row>
|
|
361
|
+
<sp-table-row value="row2">
|
|
362
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
363
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
364
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
365
|
+
</sp-table-row>
|
|
366
|
+
<sp-table-row value="row3">
|
|
367
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
368
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
369
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
370
|
+
</sp-table-row>
|
|
371
|
+
</sp-table-body>
|
|
372
|
+
</sp-table>
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
</sp-tab-panel>
|
|
376
|
+
<sp-tab value="xl">Extra Large</sp-tab>
|
|
377
|
+
<sp-tab-panel value="xl">
|
|
378
|
+
|
|
379
|
+
```html
|
|
380
|
+
<sp-table size="xl">
|
|
381
|
+
<sp-table-head>
|
|
382
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
383
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
384
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
385
|
+
</sp-table-head>
|
|
386
|
+
<sp-table-body>
|
|
387
|
+
<sp-table-row value="row1">
|
|
388
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
389
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
390
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
391
|
+
</sp-table-row>
|
|
392
|
+
<sp-table-row value="row2">
|
|
393
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
394
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
395
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
396
|
+
</sp-table-row>
|
|
397
|
+
<sp-table-row value="row3">
|
|
398
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
399
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
400
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
401
|
+
</sp-table-row>
|
|
402
|
+
</sp-table-body>
|
|
403
|
+
</sp-table>
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
</sp-tab-panel>
|
|
407
|
+
</sp-tabs>
|
|
408
|
+
|
|
409
|
+
## Quiet
|
|
410
|
+
|
|
411
|
+
When using the `quiet` property, the overall look of the table will change. The quiet variant of Table has a transparent background and no borders on the left and right.
|
|
412
|
+
|
|
413
|
+
```html
|
|
414
|
+
<sp-table quiet>
|
|
415
|
+
<sp-table-head>
|
|
416
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
417
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
418
|
+
<sp-table-head-cell>Column Title</sp-table-head-cell>
|
|
419
|
+
</sp-table-head>
|
|
420
|
+
<sp-table-body>
|
|
421
|
+
<sp-table-row value="row1">
|
|
422
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
423
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
424
|
+
<sp-table-cell>Row Item Alpha</sp-table-cell>
|
|
425
|
+
</sp-table-row>
|
|
426
|
+
<sp-table-row value="row2">
|
|
427
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
428
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
429
|
+
<sp-table-cell>Row Item Bravo</sp-table-cell>
|
|
430
|
+
</sp-table-row>
|
|
431
|
+
<sp-table-row value="row3">
|
|
432
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
433
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
434
|
+
<sp-table-cell>Row Item Charlie</sp-table-cell>
|
|
435
|
+
</sp-table-row>
|
|
436
|
+
</sp-table-body>
|
|
437
|
+
</sp-table>
|
|
438
|
+
```
|
|
439
|
+
|
|
185
440
|
## Virtualized Table
|
|
186
441
|
|
|
187
442
|
For large amounts of data, the `<sp-table>` can be virtualised to easily add table rows by using properties.
|
|
188
443
|
|
|
189
444
|
```html-live
|
|
190
445
|
<sp-table
|
|
191
|
-
size="m"
|
|
192
446
|
id="table-virtualized-demo"
|
|
193
447
|
style="height: 200px"
|
|
194
448
|
scroller="true"
|
|
@@ -246,8 +500,11 @@ For large amounts of data, the `<sp-table>` can be virtualised to easily add tab
|
|
|
246
500
|
return items;
|
|
247
501
|
}
|
|
248
502
|
|
|
249
|
-
const initTable = () => {
|
|
503
|
+
const initTable = async () => {
|
|
250
504
|
const table = document.querySelector('#table-virtualized-demo');
|
|
505
|
+
|
|
506
|
+
await table.updateComplete;
|
|
507
|
+
await table.closest('code-example')?.updateComplete;
|
|
251
508
|
table.items = initItems(50);
|
|
252
509
|
|
|
253
510
|
table.renderItem = (item, index) => {
|
|
@@ -260,8 +517,10 @@ For large amounts of data, the `<sp-table>` can be virtualised to easily add tab
|
|
|
260
517
|
return [cell1, cell2, cell3];
|
|
261
518
|
}
|
|
262
519
|
};
|
|
263
|
-
customElements.whenDefined('
|
|
264
|
-
|
|
520
|
+
customElements.whenDefined('code-example').then(() => {
|
|
521
|
+
customElements.whenDefined('sp-table').then(() => {
|
|
522
|
+
initTable();
|
|
523
|
+
});
|
|
265
524
|
});
|
|
266
525
|
</script>
|
|
267
526
|
|
|
@@ -306,7 +565,6 @@ By default the `selected` property will surface an array of item indexes that ar
|
|
|
306
565
|
|
|
307
566
|
```html-live
|
|
308
567
|
<sp-table
|
|
309
|
-
size="m"
|
|
310
568
|
id="table-item-value-demo"
|
|
311
569
|
style="height: 200px"
|
|
312
570
|
scroller="true"
|
|
@@ -373,8 +631,11 @@ By default the `selected` property will surface an array of item indexes that ar
|
|
|
373
631
|
return items;
|
|
374
632
|
}
|
|
375
633
|
|
|
376
|
-
const initTable = () => {
|
|
634
|
+
const initTable = async () => {
|
|
377
635
|
const table = document.querySelector('#table-item-value-demo');
|
|
636
|
+
|
|
637
|
+
await table.updateComplete;
|
|
638
|
+
await table.closest('code-example')?.updateComplete;
|
|
378
639
|
table.items = initItems(50);
|
|
379
640
|
table.itemValue = (item) => item.id;
|
|
380
641
|
|
|
@@ -393,8 +654,10 @@ By default the `selected` property will surface an array of item indexes that ar
|
|
|
393
654
|
selected.textContent = `Selected: ${JSON.stringify(event.target.selected, null, ' ')}`;
|
|
394
655
|
});
|
|
395
656
|
};
|
|
396
|
-
customElements.whenDefined('
|
|
397
|
-
|
|
657
|
+
customElements.whenDefined('code-example').then(() => {
|
|
658
|
+
customElements.whenDefined('sp-table').then(() => {
|
|
659
|
+
initTable();
|
|
660
|
+
});
|
|
398
661
|
});
|
|
399
662
|
</script>
|
|
400
663
|
|
|
@@ -404,7 +667,6 @@ All values in the item array are assumed to be homogenous by default. This means
|
|
|
404
667
|
|
|
405
668
|
```html-live
|
|
406
669
|
<sp-table
|
|
407
|
-
size="m"
|
|
408
670
|
id="table-row-type-demo"
|
|
409
671
|
style="height: 200px"
|
|
410
672
|
scroller="true"
|
|
@@ -472,8 +734,11 @@ All values in the item array are assumed to be homogenous by default. This means
|
|
|
472
734
|
return items;
|
|
473
735
|
}
|
|
474
736
|
|
|
475
|
-
const initTable = () => {
|
|
737
|
+
const initTable = async () => {
|
|
476
738
|
const table = document.querySelector('#table-row-type-demo');
|
|
739
|
+
|
|
740
|
+
await table.updateComplete;
|
|
741
|
+
await table.closest('code-example')?.updateComplete;
|
|
477
742
|
const items = initItems(50);
|
|
478
743
|
items.splice(3, 0, {
|
|
479
744
|
_$rowType$: 1,
|
|
@@ -496,8 +761,10 @@ All values in the item array are assumed to be homogenous by default. This means
|
|
|
496
761
|
return [cell1, cell2, cell3];
|
|
497
762
|
};
|
|
498
763
|
};
|
|
499
|
-
customElements.whenDefined('
|
|
500
|
-
|
|
764
|
+
customElements.whenDefined('code-example').then(() => {
|
|
765
|
+
customElements.whenDefined('sp-table').then(() => {
|
|
766
|
+
initTable();
|
|
767
|
+
});
|
|
501
768
|
});
|
|
502
769
|
</script>
|
|
503
770
|
|
|
@@ -513,7 +780,6 @@ For each table column you want to sort, use the `sortable` attribute in its resp
|
|
|
513
780
|
|
|
514
781
|
```html-live
|
|
515
782
|
<sp-table
|
|
516
|
-
size="m"
|
|
517
783
|
id="sorted-virtualized-table"
|
|
518
784
|
style="height: 200px"
|
|
519
785
|
scroller="true"
|
|
@@ -591,9 +857,12 @@ For each table column you want to sort, use the `sortable` attribute in its resp
|
|
|
591
857
|
|
|
592
858
|
let items = initItems(50);
|
|
593
859
|
|
|
594
|
-
const initTable = () => {
|
|
860
|
+
const initTable = async () => {
|
|
595
861
|
const table = document.querySelector('#sorted-virtualized-table');
|
|
596
862
|
|
|
863
|
+
await table.updateComplete;
|
|
864
|
+
await table.closest('code-example')?.updateComplete;
|
|
865
|
+
|
|
597
866
|
table.items = items;
|
|
598
867
|
|
|
599
868
|
table.renderItem = (item, index) => {
|
|
@@ -618,7 +887,9 @@ For each table column you want to sort, use the `sortable` attribute in its resp
|
|
|
618
887
|
});
|
|
619
888
|
};
|
|
620
889
|
|
|
621
|
-
customElements.whenDefined('
|
|
622
|
-
|
|
890
|
+
customElements.whenDefined('code-example').then(() => {
|
|
891
|
+
customElements.whenDefined('sp-table').then(() => {
|
|
892
|
+
initTable();
|
|
893
|
+
});
|
|
623
894
|
});
|
|
624
895
|
</script>
|
package/custom-elements.json
CHANGED
|
@@ -200,6 +200,41 @@
|
|
|
200
200
|
"attribute": "scroller",
|
|
201
201
|
"reflects": true
|
|
202
202
|
},
|
|
203
|
+
{
|
|
204
|
+
"kind": "field",
|
|
205
|
+
"name": "emphasized",
|
|
206
|
+
"type": {
|
|
207
|
+
"text": "boolean"
|
|
208
|
+
},
|
|
209
|
+
"privacy": "public",
|
|
210
|
+
"default": "false",
|
|
211
|
+
"description": "Deliver the Table with additional visual emphasis to selected rows.",
|
|
212
|
+
"attribute": "emphasized",
|
|
213
|
+
"reflects": true
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"kind": "field",
|
|
217
|
+
"name": "quiet",
|
|
218
|
+
"type": {
|
|
219
|
+
"text": "boolean"
|
|
220
|
+
},
|
|
221
|
+
"privacy": "public",
|
|
222
|
+
"default": "false",
|
|
223
|
+
"description": "Display with \"quiet\" variant styles.",
|
|
224
|
+
"attribute": "quiet",
|
|
225
|
+
"reflects": true
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"kind": "field",
|
|
229
|
+
"name": "density",
|
|
230
|
+
"type": {
|
|
231
|
+
"text": "'compact' | 'spacious' | undefined"
|
|
232
|
+
},
|
|
233
|
+
"privacy": "public",
|
|
234
|
+
"description": "Changes the spacing around table cell content.",
|
|
235
|
+
"attribute": "density",
|
|
236
|
+
"reflects": true
|
|
237
|
+
},
|
|
203
238
|
{
|
|
204
239
|
"kind": "field",
|
|
205
240
|
"name": "tableBody",
|
|
@@ -445,6 +480,32 @@
|
|
|
445
480
|
"default": "false",
|
|
446
481
|
"description": "Whether or not the virtualized table has a scroll bar. If this is set to true, make sure to specify a height in the sp-table's inline styles.",
|
|
447
482
|
"fieldName": "scroller"
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
"name": "emphasized",
|
|
486
|
+
"type": {
|
|
487
|
+
"text": "boolean"
|
|
488
|
+
},
|
|
489
|
+
"default": "false",
|
|
490
|
+
"description": "Deliver the Table with additional visual emphasis to selected rows.",
|
|
491
|
+
"fieldName": "emphasized"
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"name": "quiet",
|
|
495
|
+
"type": {
|
|
496
|
+
"text": "boolean"
|
|
497
|
+
},
|
|
498
|
+
"default": "false",
|
|
499
|
+
"description": "Display with \"quiet\" variant styles.",
|
|
500
|
+
"fieldName": "quiet"
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"name": "density",
|
|
504
|
+
"type": {
|
|
505
|
+
"text": "'compact' | 'spacious' | undefined"
|
|
506
|
+
},
|
|
507
|
+
"description": "Changes the spacing around table cell content.",
|
|
508
|
+
"fieldName": "density"
|
|
448
509
|
}
|
|
449
510
|
],
|
|
450
511
|
"mixins": [
|
|
@@ -591,6 +652,18 @@
|
|
|
591
652
|
"description": "",
|
|
592
653
|
"name": "TableCheckboxCell",
|
|
593
654
|
"members": [
|
|
655
|
+
{
|
|
656
|
+
"kind": "field",
|
|
657
|
+
"name": "headCell",
|
|
658
|
+
"type": {
|
|
659
|
+
"text": "boolean"
|
|
660
|
+
},
|
|
661
|
+
"privacy": "public",
|
|
662
|
+
"default": "false",
|
|
663
|
+
"description": "Whether or not the checkbox cell is in the table head.",
|
|
664
|
+
"attribute": "head-cell",
|
|
665
|
+
"reflects": true
|
|
666
|
+
},
|
|
594
667
|
{
|
|
595
668
|
"kind": "field",
|
|
596
669
|
"name": "role",
|
|
@@ -651,6 +724,17 @@
|
|
|
651
724
|
"attribute": "selects-single",
|
|
652
725
|
"reflects": true
|
|
653
726
|
},
|
|
727
|
+
{
|
|
728
|
+
"kind": "field",
|
|
729
|
+
"name": "emphasized",
|
|
730
|
+
"type": {
|
|
731
|
+
"text": "boolean"
|
|
732
|
+
},
|
|
733
|
+
"privacy": "public",
|
|
734
|
+
"default": "false",
|
|
735
|
+
"attribute": "emphasized",
|
|
736
|
+
"reflects": true
|
|
737
|
+
},
|
|
654
738
|
{
|
|
655
739
|
"kind": "method",
|
|
656
740
|
"name": "click",
|
|
@@ -663,6 +747,15 @@
|
|
|
663
747
|
}
|
|
664
748
|
],
|
|
665
749
|
"attributes": [
|
|
750
|
+
{
|
|
751
|
+
"name": "head-cell",
|
|
752
|
+
"type": {
|
|
753
|
+
"text": "boolean"
|
|
754
|
+
},
|
|
755
|
+
"default": "false",
|
|
756
|
+
"description": "Whether or not the checkbox cell is in the table head.",
|
|
757
|
+
"fieldName": "headCell"
|
|
758
|
+
},
|
|
666
759
|
{
|
|
667
760
|
"name": "role",
|
|
668
761
|
"type": {
|
|
@@ -702,6 +795,14 @@
|
|
|
702
795
|
},
|
|
703
796
|
"default": "false",
|
|
704
797
|
"fieldName": "selectsSingle"
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
"name": "emphasized",
|
|
801
|
+
"type": {
|
|
802
|
+
"text": "boolean"
|
|
803
|
+
},
|
|
804
|
+
"default": "false",
|
|
805
|
+
"fieldName": "emphasized"
|
|
705
806
|
}
|
|
706
807
|
],
|
|
707
808
|
"superclass": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spectrum-web-components/table",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.39.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -116,14 +116,14 @@
|
|
|
116
116
|
],
|
|
117
117
|
"dependencies": {
|
|
118
118
|
"@lit-labs/observers": "^2.0.0",
|
|
119
|
-
"@lit-labs/virtualizer": "^2.0.
|
|
120
|
-
"@spectrum-web-components/base": "^0.
|
|
121
|
-
"@spectrum-web-components/checkbox": "^0.
|
|
122
|
-
"@spectrum-web-components/icon": "^0.
|
|
123
|
-
"@spectrum-web-components/icons-ui": "^0.
|
|
119
|
+
"@lit-labs/virtualizer": "^2.0.6",
|
|
120
|
+
"@spectrum-web-components/base": "^0.39.0",
|
|
121
|
+
"@spectrum-web-components/checkbox": "^0.39.0",
|
|
122
|
+
"@spectrum-web-components/icon": "^0.39.0",
|
|
123
|
+
"@spectrum-web-components/icons-ui": "^0.39.0"
|
|
124
124
|
},
|
|
125
125
|
"devDependencies": {
|
|
126
|
-
"@spectrum-css/table": "^
|
|
126
|
+
"@spectrum-css/table": "^5.0.1"
|
|
127
127
|
},
|
|
128
128
|
"types": "./src/index.d.ts",
|
|
129
129
|
"customElements": "custom-elements.json",
|
|
@@ -132,5 +132,5 @@
|
|
|
132
132
|
"./elements.js",
|
|
133
133
|
"./**/*.dev.js"
|
|
134
134
|
],
|
|
135
|
-
"gitHead": "
|
|
135
|
+
"gitHead": "2acc8390ef0ac6cc940958d4da705c9859155c0d"
|
|
136
136
|
}
|
package/src/Table.d.ts
CHANGED
|
@@ -46,6 +46,18 @@ export declare class Table extends Table_base {
|
|
|
46
46
|
* Whether or not the virtualized table has a scroll bar. If this is set to true, make sure to specify a height in the sp-table's inline styles.
|
|
47
47
|
*/
|
|
48
48
|
scroller: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Deliver the Table with additional visual emphasis to selected rows.
|
|
51
|
+
*/
|
|
52
|
+
emphasized: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Display with "quiet" variant styles.
|
|
55
|
+
*/
|
|
56
|
+
quiet: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Changes the spacing around table cell content.
|
|
59
|
+
*/
|
|
60
|
+
density?: 'compact' | 'spacious';
|
|
49
61
|
private tableBody?;
|
|
50
62
|
private tableHeadCheckboxCell?;
|
|
51
63
|
private get tableHead();
|