@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.
Files changed (86) hide show
  1. package/README.md +295 -24
  2. package/custom-elements.json +101 -0
  3. package/package.json +8 -8
  4. package/src/Table.d.ts +12 -0
  5. package/src/Table.dev.js +27 -7
  6. package/src/Table.dev.js.map +2 -2
  7. package/src/Table.js +12 -12
  8. package/src/Table.js.map +3 -3
  9. package/src/TableCheckboxCell.d.ts +5 -0
  10. package/src/TableCheckboxCell.dev.js +10 -3
  11. package/src/TableCheckboxCell.dev.js.map +2 -2
  12. package/src/TableCheckboxCell.js +3 -2
  13. package/src/TableCheckboxCell.js.map +3 -3
  14. package/src/TableHeadCell.dev.js +3 -2
  15. package/src/TableHeadCell.dev.js.map +2 -2
  16. package/src/TableHeadCell.js +4 -4
  17. package/src/TableHeadCell.js.map +3 -3
  18. package/src/spectrum-config.js +124 -4
  19. package/src/spectrum-table-body.css.dev.js +9 -9
  20. package/src/spectrum-table-body.css.dev.js.map +1 -1
  21. package/src/spectrum-table-body.css.js +11 -11
  22. package/src/spectrum-table-body.css.js.map +1 -1
  23. package/src/spectrum-table-cell.css.dev.js +59 -15
  24. package/src/spectrum-table-cell.css.dev.js.map +2 -2
  25. package/src/spectrum-table-cell.css.js +61 -17
  26. package/src/spectrum-table-cell.css.js.map +2 -2
  27. package/src/spectrum-table-checkbox-cell.css.dev.js +101 -3
  28. package/src/spectrum-table-checkbox-cell.css.dev.js.map +2 -2
  29. package/src/spectrum-table-checkbox-cell.css.js +103 -5
  30. package/src/spectrum-table-checkbox-cell.css.js.map +2 -2
  31. package/src/spectrum-table-head-cell.css.dev.js +102 -32
  32. package/src/spectrum-table-head-cell.css.dev.js.map +2 -2
  33. package/src/spectrum-table-head-cell.css.js +104 -34
  34. package/src/spectrum-table-head-cell.css.js.map +2 -2
  35. package/src/spectrum-table-head.css.dev.js +1 -1
  36. package/src/spectrum-table-head.css.dev.js.map +1 -1
  37. package/src/spectrum-table-head.css.js +1 -1
  38. package/src/spectrum-table-head.css.js.map +1 -1
  39. package/src/spectrum-table-row.css.dev.js +199 -27
  40. package/src/spectrum-table-row.css.dev.js.map +2 -2
  41. package/src/spectrum-table-row.css.js +201 -29
  42. package/src/spectrum-table-row.css.js.map +2 -2
  43. package/src/spectrum-table.css.dev.js +247 -325
  44. package/src/spectrum-table.css.dev.js.map +2 -2
  45. package/src/spectrum-table.css.js +249 -327
  46. package/src/spectrum-table.css.js.map +2 -2
  47. package/src/table-body.css.dev.js +17 -9
  48. package/src/table-body.css.dev.js.map +2 -2
  49. package/src/table-body.css.js +17 -9
  50. package/src/table-body.css.js.map +2 -2
  51. package/src/table-cell.css.dev.js +59 -15
  52. package/src/table-cell.css.dev.js.map +2 -2
  53. package/src/table-cell.css.js +61 -17
  54. package/src/table-cell.css.js.map +2 -2
  55. package/src/table-checkbox-cell.css.dev.js +101 -3
  56. package/src/table-checkbox-cell.css.dev.js.map +2 -2
  57. package/src/table-checkbox-cell.css.js +101 -3
  58. package/src/table-checkbox-cell.css.js.map +2 -2
  59. package/src/table-head-cell.css.dev.js +103 -33
  60. package/src/table-head-cell.css.dev.js.map +2 -2
  61. package/src/table-head-cell.css.js +105 -35
  62. package/src/table-head-cell.css.js.map +2 -2
  63. package/src/table-head.css.dev.js +1 -1
  64. package/src/table-head.css.dev.js.map +1 -1
  65. package/src/table-head.css.js +1 -1
  66. package/src/table-head.css.js.map +1 -1
  67. package/src/table-row.css.dev.js +199 -27
  68. package/src/table-row.css.dev.js.map +2 -2
  69. package/src/table-row.css.js +201 -29
  70. package/src/table-row.css.js.map +2 -2
  71. package/src/table.css.dev.js +247 -325
  72. package/src/table.css.dev.js.map +2 -2
  73. package/src/table.css.js +249 -327
  74. package/src/table.css.js.map +2 -2
  75. package/stories/table-elements.stories.js +40 -4
  76. package/stories/table-elements.stories.js.map +2 -2
  77. package/test/helpers.js +18 -0
  78. package/test/helpers.js.map +7 -0
  79. package/test/table-selects.test.js +2 -16
  80. package/test/table-selects.test.js.map +2 -2
  81. package/test/table.test.js +42 -24
  82. package/test/table.test.js.map +2 -2
  83. package/test/virtualized-table-selects.test.js +15 -46
  84. package/test/virtualized-table-selects.test.js.map +2 -2
  85. package/test/virtualized-table.test.js +4 -27
  86. 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 size="m">
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>` will manage a selection in the array value of `selected` in via a presence toggle. 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>`.
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('sp-table').then(() => {
264
- initTable();
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('sp-table').then(() => {
397
- initTable();
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('sp-table').then(() => {
500
- initTable();
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('sp-table').then(() => {
622
- initTable();
890
+ customElements.whenDefined('code-example').then(() => {
891
+ customElements.whenDefined('sp-table').then(() => {
892
+ initTable();
893
+ });
623
894
  });
624
895
  </script>
@@ -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.37.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.2",
120
- "@spectrum-web-components/base": "^0.37.0",
121
- "@spectrum-web-components/checkbox": "^0.37.0",
122
- "@spectrum-web-components/icon": "^0.37.0",
123
- "@spectrum-web-components/icons-ui": "^0.37.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": "^4.0.66"
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": "d771f62f0d8063070af43283bb0fd5e3400bad06"
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();