@spectrum-web-components/table 0.38.0 → 0.39.1

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 +263 -12
  2. package/custom-elements.json +101 -0
  3. package/package.json +7 -7
  4. package/src/Table.d.ts +12 -0
  5. package/src/Table.dev.js +19 -1
  6. package/src/Table.dev.js.map +2 -2
  7. package/src/Table.js +6 -6
  8. package/src/Table.js.map +2 -2
  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 +1 -1
  15. package/src/TableHeadCell.dev.js.map +2 -2
  16. package/src/TableHeadCell.js +1 -1
  17. package/src/TableHeadCell.js.map +2 -2
  18. package/src/spectrum-config.js +127 -6
  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 +3 -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"
@@ -311,7 +565,6 @@ By default the `selected` property will surface an array of item indexes that ar
311
565
 
312
566
  ```html-live
313
567
  <sp-table
314
- size="m"
315
568
  id="table-item-value-demo"
316
569
  style="height: 200px"
317
570
  scroller="true"
@@ -414,7 +667,6 @@ All values in the item array are assumed to be homogenous by default. This means
414
667
 
415
668
  ```html-live
416
669
  <sp-table
417
- size="m"
418
670
  id="table-row-type-demo"
419
671
  style="height: 200px"
420
672
  scroller="true"
@@ -528,7 +780,6 @@ For each table column you want to sort, use the `sortable` attribute in its resp
528
780
 
529
781
  ```html-live
530
782
  <sp-table
531
- size="m"
532
783
  id="sorted-virtualized-table"
533
784
  style="height: 200px"
534
785
  scroller="true"
@@ -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.38.0",
3
+ "version": "0.39.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -117,13 +117,13 @@
117
117
  "dependencies": {
118
118
  "@lit-labs/observers": "^2.0.0",
119
119
  "@lit-labs/virtualizer": "^2.0.6",
120
- "@spectrum-web-components/base": "^0.38.0",
121
- "@spectrum-web-components/checkbox": "^0.38.0",
122
- "@spectrum-web-components/icon": "^0.38.0",
123
- "@spectrum-web-components/icons-ui": "^0.38.0"
120
+ "@spectrum-web-components/base": "^0.39.1",
121
+ "@spectrum-web-components/checkbox": "^0.39.1",
122
+ "@spectrum-web-components/icon": "^0.39.1",
123
+ "@spectrum-web-components/icons-ui": "^0.39.1"
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": "9a099b7543672f2fd4030833ab813b16c2cad62e"
135
+ "gitHead": "d374f8645b54b978d830c95ff777b5b1e9172ac7"
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();
package/src/Table.dev.js CHANGED
@@ -36,7 +36,7 @@ export var RowType = /* @__PURE__ */ ((RowType2) => {
36
36
  return RowType2;
37
37
  })(RowType || {});
38
38
  export class Table extends SizedMixin(SpectrumElement, {
39
- validSizes: ["s", "m"],
39
+ validSizes: ["s", "m", "l", "xl"],
40
40
  noDefaultSize: true
41
41
  }) {
42
42
  constructor() {
@@ -51,6 +51,8 @@ export class Table extends SizedMixin(SpectrumElement, {
51
51
  return `${index}`;
52
52
  };
53
53
  this.scroller = false;
54
+ this.emphasized = false;
55
+ this.quiet = false;
54
56
  }
55
57
  static get styles() {
56
58
  return [styles];
@@ -147,6 +149,7 @@ export class Table extends SizedMixin(SpectrumElement, {
147
149
  row.selected = this.selectedSet.has(row.value);
148
150
  if (!row.querySelector(":scope > sp-table-checkbox-cell")) {
149
151
  const clonedCheckbox = checkbox.cloneNode();
152
+ checkbox.emphasized = this.emphasized;
150
153
  row.insertAdjacentElement("afterbegin", clonedCheckbox);
151
154
  checkbox.checked = row.selected;
152
155
  }
@@ -157,6 +160,8 @@ export class Table extends SizedMixin(SpectrumElement, {
157
160
  this.tableHeadCheckboxCell = document.createElement(
158
161
  "sp-table-checkbox-cell"
159
162
  );
163
+ this.tableHeadCheckboxCell.headCell = true;
164
+ this.tableHeadCheckboxCell.emphasized = this.emphasized;
160
165
  (_a = this.tableHead) == null ? void 0 : _a.insertAdjacentElement(
161
166
  "afterbegin",
162
167
  this.tableHeadCheckboxCell
@@ -214,6 +219,8 @@ export class Table extends SizedMixin(SpectrumElement, {
214
219
  this.tableHeadCheckboxCell = document.createElement(
215
220
  "sp-table-checkbox-cell"
216
221
  );
222
+ this.tableHeadCheckboxCell.headCell = true;
223
+ this.tableHeadCheckboxCell.emphasized = this.emphasized;
217
224
  const allSelected = this.selected.length === this.tableRows.length;
218
225
  this.manageHeadCheckbox(allSelected);
219
226
  (_a = this.tableHead) == null ? void 0 : _a.insertAdjacentElement(
@@ -224,6 +231,7 @@ export class Table extends SizedMixin(SpectrumElement, {
224
231
  const checkbox = document.createElement(
225
232
  "sp-table-checkbox-cell"
226
233
  );
234
+ checkbox.emphasized = this.emphasized;
227
235
  row.insertAdjacentElement("afterbegin", checkbox);
228
236
  row.selected = this.selectedSet.has(row.value);
229
237
  checkbox.checked = row.selected;
@@ -243,6 +251,7 @@ export class Table extends SizedMixin(SpectrumElement, {
243
251
  if (!this.tableHeadCheckboxCell)
244
252
  return;
245
253
  this.tableHeadCheckboxCell.selectsSingle = this.selects === "single";
254
+ this.tableHeadCheckboxCell.emphasized = this.emphasized;
246
255
  this.tableHeadCheckboxCell.checked = allSelected;
247
256
  this.tableHeadCheckboxCell.indeterminate = this.selected.length > 0 && !allSelected;
248
257
  }
@@ -400,4 +409,13 @@ __decorateClass([
400
409
  __decorateClass([
401
410
  property({ type: Boolean, reflect: true })
402
411
  ], Table.prototype, "scroller", 2);
412
+ __decorateClass([
413
+ property({ type: Boolean, reflect: true })
414
+ ], Table.prototype, "emphasized", 2);
415
+ __decorateClass([
416
+ property({ type: Boolean, reflect: true })
417
+ ], Table.prototype, "quiet", 2);
418
+ __decorateClass([
419
+ property({ type: String, reflect: true })
420
+ ], Table.prototype, "density", 2);
403
421
  //# sourceMappingURL=Table.dev.js.map