@spectrum-web-components/table 0.0.2-table.2625 → 0.0.2-table.2715

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 (149) hide show
  1. package/README.md +212 -40
  2. package/custom-elements.json +88 -35
  3. package/elements.d.ts +7 -0
  4. package/elements.dev.js +8 -0
  5. package/elements.dev.js.map +7 -0
  6. package/elements.js +2 -0
  7. package/elements.js.map +7 -0
  8. package/package.json +12 -9
  9. package/sp-table-body.dev.js +3 -0
  10. package/sp-table-body.dev.js.map +7 -0
  11. package/sp-table-body.js +2 -14
  12. package/sp-table-body.js.map +7 -1
  13. package/sp-table-cell.dev.js +3 -0
  14. package/sp-table-cell.dev.js.map +7 -0
  15. package/sp-table-cell.js +2 -14
  16. package/sp-table-cell.js.map +7 -1
  17. package/sp-table-checkbox-cell.dev.js +3 -0
  18. package/sp-table-checkbox-cell.dev.js.map +7 -0
  19. package/sp-table-checkbox-cell.js +2 -14
  20. package/sp-table-checkbox-cell.js.map +7 -1
  21. package/sp-table-head-cell.dev.js +3 -0
  22. package/sp-table-head-cell.dev.js.map +7 -0
  23. package/sp-table-head-cell.js +2 -14
  24. package/sp-table-head-cell.js.map +7 -1
  25. package/sp-table-head.dev.js +3 -0
  26. package/sp-table-head.dev.js.map +7 -0
  27. package/sp-table-head.js +2 -14
  28. package/sp-table-head.js.map +7 -1
  29. package/sp-table-row.dev.js +3 -0
  30. package/sp-table-row.dev.js.map +7 -0
  31. package/sp-table-row.js +2 -14
  32. package/sp-table-row.js.map +7 -1
  33. package/sp-table.dev.js +3 -0
  34. package/sp-table.dev.js.map +7 -0
  35. package/sp-table.js +2 -14
  36. package/sp-table.js.map +7 -1
  37. package/src/Table.d.ts +14 -1
  38. package/src/Table.dev.js +364 -0
  39. package/src/Table.dev.js.map +7 -0
  40. package/src/Table.js +13 -360
  41. package/src/Table.js.map +7 -1
  42. package/src/TableBody.dev.js +35 -0
  43. package/src/TableBody.dev.js.map +7 -0
  44. package/src/TableBody.js +3 -35
  45. package/src/TableBody.js.map +7 -1
  46. package/src/TableCell.dev.js +35 -0
  47. package/src/TableCell.dev.js.map +7 -0
  48. package/src/TableCell.js +3 -35
  49. package/src/TableCell.js.map +7 -1
  50. package/src/TableCheckboxCell.d.ts +1 -1
  51. package/src/TableCheckboxCell.dev.js +70 -0
  52. package/src/TableCheckboxCell.dev.js.map +7 -0
  53. package/src/TableCheckboxCell.js +4 -67
  54. package/src/TableCheckboxCell.js.map +7 -1
  55. package/src/TableHead.dev.js +54 -0
  56. package/src/TableHead.dev.js.map +7 -0
  57. package/src/TableHead.js +3 -52
  58. package/src/TableHead.js.map +7 -1
  59. package/src/TableHeadCell.dev.js +90 -0
  60. package/src/TableHeadCell.dev.js.map +7 -0
  61. package/src/TableHeadCell.js +5 -92
  62. package/src/TableHeadCell.js.map +7 -1
  63. package/src/TableRow.d.ts +6 -1
  64. package/src/TableRow.dev.js +99 -0
  65. package/src/TableRow.dev.js.map +7 -0
  66. package/src/TableRow.js +7 -66
  67. package/src/TableRow.js.map +7 -1
  68. package/src/index.dev.js +2 -0
  69. package/src/index.dev.js.map +7 -0
  70. package/src/index.js +2 -13
  71. package/src/index.js.map +7 -1
  72. package/src/spectrum-table-body.css.dev.js +16 -0
  73. package/src/spectrum-table-body.css.dev.js.map +7 -0
  74. package/src/spectrum-table-body.css.js +3 -16
  75. package/src/spectrum-table-body.css.js.map +7 -1
  76. package/src/spectrum-table-cell.css.dev.js +26 -0
  77. package/src/spectrum-table-cell.css.dev.js.map +7 -0
  78. package/src/spectrum-table-cell.css.js +3 -16
  79. package/src/spectrum-table-cell.css.js.map +7 -1
  80. package/src/spectrum-table-checkbox-cell.css.dev.js +12 -0
  81. package/src/spectrum-table-checkbox-cell.css.dev.js.map +7 -0
  82. package/src/spectrum-table-checkbox-cell.css.js +3 -16
  83. package/src/spectrum-table-checkbox-cell.css.js.map +7 -1
  84. package/src/spectrum-table-head-cell.css.dev.js +60 -0
  85. package/src/spectrum-table-head-cell.css.dev.js.map +7 -0
  86. package/src/spectrum-table-head-cell.css.js +3 -16
  87. package/src/spectrum-table-head-cell.css.js.map +7 -1
  88. package/src/spectrum-table-head.css.dev.js +6 -0
  89. package/src/spectrum-table-head.css.dev.js.map +7 -0
  90. package/src/spectrum-table-head.css.js +3 -16
  91. package/src/spectrum-table-head.css.js.map +7 -1
  92. package/src/spectrum-table-row.css.dev.js +32 -0
  93. package/src/spectrum-table-row.css.dev.js.map +7 -0
  94. package/src/spectrum-table-row.css.js +3 -16
  95. package/src/spectrum-table-row.css.js.map +7 -1
  96. package/src/spectrum-table.css.dev.js +512 -0
  97. package/src/spectrum-table.css.dev.js.map +7 -0
  98. package/src/spectrum-table.css.js +3 -16
  99. package/src/spectrum-table.css.js.map +7 -1
  100. package/src/table-body.css.dev.js +16 -0
  101. package/src/table-body.css.dev.js.map +7 -0
  102. package/src/table-body.css.js +4 -17
  103. package/src/table-body.css.js.map +7 -1
  104. package/src/table-cell.css.dev.js +26 -0
  105. package/src/table-cell.css.dev.js.map +7 -0
  106. package/src/table-cell.css.js +3 -16
  107. package/src/table-cell.css.js.map +7 -1
  108. package/src/table-checkbox-cell.css.dev.js +12 -0
  109. package/src/table-checkbox-cell.css.dev.js.map +7 -0
  110. package/src/table-checkbox-cell.css.js +3 -16
  111. package/src/table-checkbox-cell.css.js.map +7 -1
  112. package/src/table-head-cell.css.dev.js +60 -0
  113. package/src/table-head-cell.css.dev.js.map +7 -0
  114. package/src/table-head-cell.css.js +3 -16
  115. package/src/table-head-cell.css.js.map +7 -1
  116. package/src/table-head.css.dev.js +6 -0
  117. package/src/table-head.css.dev.js.map +7 -0
  118. package/src/table-head.css.js +3 -16
  119. package/src/table-head.css.js.map +7 -1
  120. package/src/table-row.css.dev.js +32 -0
  121. package/src/table-row.css.dev.js.map +7 -0
  122. package/src/table-row.css.js +3 -16
  123. package/src/table-row.css.js.map +7 -1
  124. package/src/table.css.dev.js +512 -0
  125. package/src/table.css.dev.js.map +7 -0
  126. package/src/table.css.js +4 -17
  127. package/src/table.css.js.map +7 -1
  128. package/stories/index.js +7 -31
  129. package/stories/index.js.map +7 -1
  130. package/stories/table-elements.stories.js +45 -117
  131. package/stories/table-elements.stories.js.map +7 -1
  132. package/stories/table-virtualized.stories.js +48 -165
  133. package/stories/table-virtualized.stories.js.map +7 -1
  134. package/test/benchmark/basic-test.js +3 -17
  135. package/test/benchmark/basic-test.js.map +7 -1
  136. package/test/table-elements.test-vrt.js +2 -15
  137. package/test/table-elements.test-vrt.js.map +7 -1
  138. package/test/table-selects.test.js +41 -0
  139. package/test/table-selects.test.js.map +7 -0
  140. package/test/table-virtualized.test-vrt.js +2 -15
  141. package/test/table-virtualized.test-vrt.js.map +7 -1
  142. package/test/table.test.js +43 -222
  143. package/test/table.test.js.map +7 -1
  144. package/test/virtualized-table-selects.test.js +57 -0
  145. package/test/virtualized-table-selects.test.js.map +7 -0
  146. package/test/virtualized-table.test.js +35 -450
  147. package/test/virtualized-table.test.js.map +7 -1
  148. package/stories/table.stories.js.map +0 -1
  149. package/test/table.test-vrt.js.map +0 -1
package/README.md CHANGED
@@ -13,6 +13,12 @@ yarn add @spectrum-web-components/table
13
13
 
14
14
  Import the side effectful registration of `<sp-table>`, `<sp-table-body>`, `<sp-table-cell>`, `<sp-table-checkbox-cell>`, `<sp-table-head>`, `<sp-table-head-cell>`. and `<sp-table-row>` via:
15
15
 
16
+ ```
17
+ import '@spectrum-web-components/table/elements.js';
18
+ ```
19
+
20
+ Or individually via:
21
+
16
22
  ```
17
23
  import '@spectrum-web-components/table/sp-table.js';
18
24
  import '@spectrum-web-components/table/sp-table-body.js';
@@ -82,45 +88,10 @@ To ensure that the table scrolls, make sure to add a `style` attribute to `<sp-t
82
88
 
83
89
  To manage selection on an `<sp-table>`, utilise the `selects` attribute on `<sp-table>`. Each `<sp-table-row>` has a `value` attribute which, by default, corresponds to its index in the table, and these `value`s tell `<sp-table>` which `<sp-table-row>`s are selected. The selected items can be manually fed in through the `.selected` attribute on the table.
84
90
 
85
- ```html
86
- <sp-table size="m">
87
- <sp-table-head>
88
- <sp-table-head-cell sortable sort>Column Title</sp-table-head-cell>
89
- <sp-table-head-cell>Column Title</sp-table-head-cell>
90
- <sp-table-head-cell>Column Title</sp-table-head-cell>
91
- </sp-table-head>
92
- <sp-table-body>
93
- <sp-table-row>
94
- <sp-table-cell>Row Item Alpha</sp-table-cell>
95
- <sp-table-cell>Row Item Alpha</sp-table-cell>
96
- <sp-table-cell>Row Item Alpha</sp-table-cell>
97
- </sp-table-row>
98
- <sp-table-row>
99
- <sp-table-cell>Row Item Bravo</sp-table-cell>
100
- <sp-table-cell>Row Item Bravo</sp-table-cell>
101
- <sp-table-cell>Row Item Bravo</sp-table-cell>
102
- </sp-table-row>
103
- <sp-table-row>
104
- <sp-table-cell>Row Item Charlie</sp-table-cell>
105
- <sp-table-cell>Row Item Charlie</sp-table-cell>
106
- <sp-table-cell>Row Item Charlie</sp-table-cell>
107
- </sp-table-row>
108
- <sp-table-row>
109
- <sp-table-cell>Row Item Delta</sp-table-cell>
110
- <sp-table-cell>Row Item Delta</sp-table-cell>
111
- <sp-table-cell>Row Item Delta</sp-table-cell>
112
- </sp-table-row>
113
- <sp-table-row>
114
- <sp-table-cell>Row Item Echo</sp-table-cell>
115
- <sp-table-cell>Row Item Echo</sp-table-cell>
116
- <sp-table-cell>Row Item Echo</sp-table-cell>
117
- </sp-table-row>
118
- </sp-table-body>
119
- </sp-table>
120
- ```
121
-
122
91
  ### `selects="single"`
123
92
 
93
+ When `selects="single"` the `<sp-table>` will manage a _single_ selection in the array value of `selected`.
94
+
124
95
  ```html
125
96
  <sp-table
126
97
  size="m"
@@ -166,7 +137,7 @@ To manage selection on an `<sp-table>`, utilise the `selects` attribute on `<sp-
166
137
 
167
138
  ### `selects="multiple"`
168
139
 
169
- When `selects` is set to "multiple", the `<sp-table-checkbox-cell>` in `<sp-table-head>` acts as the select/deselect all button.
140
+ When `selects="multiple"` the `<sp-table>` will manage a selection in the array value of `selected` in via a presence toggle. Further, 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>`.
170
141
 
171
142
  ```html
172
143
  <sp-table
@@ -249,7 +220,7 @@ For large amounts of data, the `<sp-table>` can be virtualised to easily add tab
249
220
  const cell1 = document.createElement('sp-table-cell');
250
221
  const cell2 = document.createElement('sp-table-cell');
251
222
  const cell3 = document.createElement('sp-table-cell');
252
- cell1.textContent = `Row Item Alpha ${item.value}`;
223
+ cell1.textContent = `Row Item Alpha ${item.name}`;
253
224
  cell2.textContent = `Row Item Alpha ${index}`;
254
225
  cell3.textContent = `Last Thing`;
255
226
  return [cell1, cell2, cell3];
@@ -283,7 +254,7 @@ For large amounts of data, the `<sp-table>` can be virtualised to easily add tab
283
254
  const cell1 = document.createElement('sp-table-cell');
284
255
  const cell2 = document.createElement('sp-table-cell');
285
256
  const cell3 = document.createElement('sp-table-cell');
286
- cell1.textContent = `Row Item Alpha ${item.value}`;
257
+ cell1.textContent = `Row Item Alpha ${item.name}`;
287
258
  cell2.textContent = `Row Item Alpha ${index}`;
288
259
  cell3.textContent = `Last Thing`;
289
260
  return [cell1, cell2, cell3];
@@ -329,6 +300,207 @@ const renderItem = (item: Item, index: number): TemplateResult => {
329
300
 
330
301
  Please note that there is a bug when attempting to select all virtualised elements. The items are selected programatically, it's just not reflected visually.
331
302
 
303
+ ### Selection
304
+
305
+ When making a selection on a virtualized table, it can sometimes be useful to track that selection as something other than an array of indexes. To make this possible the `itemValue` property will accept a method who argument is an item object, return a computed string value to track selection with this value rather than the item's index:
306
+
307
+ ```html-live
308
+ <sp-table
309
+ size="m"
310
+ id="table-item-value-demo"
311
+ style="height: 200px"
312
+ scroller="true"
313
+ selects="multiple"
314
+ >
315
+ <sp-table-head>
316
+ <sp-table-head-cell>Column Title</sp-table-head-cell>
317
+ <sp-table-head-cell>Column Title</sp-table-head-cell>
318
+ <sp-table-head-cell>Column Title</sp-table-head-cell>
319
+ </sp-table-head>
320
+ </sp-table>
321
+ <div class="selection">Selected: [ ]</div>
322
+ <script type="module">
323
+ const initItems = (count) => {
324
+ const total = count;
325
+ const items = [];
326
+ while (count) {
327
+ count--;
328
+ items.push({
329
+ id: crypto.randomUUID(),
330
+ name: String(total - count),
331
+ date: count,
332
+ });
333
+ }
334
+ return items;
335
+ };
336
+ const initTable = () => {
337
+ const table = document.querySelector('#table-item-value-demo');
338
+ table.items = initItems(50);
339
+
340
+ table.renderItem = (item, index) => {
341
+ const cell1 = document.createElement('sp-table-cell');
342
+ const cell2 = document.createElement('sp-table-cell');
343
+ const cell3 = document.createElement('sp-table-cell');
344
+ cell1.textContent = `Row Item Alpha ${item.name}`;
345
+ cell2.textContent = `Row Item Alpha ${index}`;
346
+ cell3.textContent = `Last Thing`;
347
+ return [cell1, cell2, cell3];
348
+ };
349
+
350
+ table.addEventListener('change', (event) => {
351
+ const selected = event.target.nextElementSibling;
352
+ selected.textContent = `Selected: ${JSON.stringify(event.target.selected, null, ' ')}`;
353
+ });
354
+ };
355
+ customElements.whenDefined('sp-table').then(() => {
356
+ initTable();
357
+ });
358
+ </script>
359
+ ```
360
+
361
+ <script type="module">
362
+ const initItems = (count) => {
363
+ const total = count;
364
+ const items = [];
365
+ while (count) {
366
+ count--;
367
+ items.push({
368
+ id: crypto.randomUUID(),
369
+ name: String(total - count),
370
+ date: count,
371
+ });
372
+ }
373
+ return items;
374
+ }
375
+
376
+ const initTable = () => {
377
+ const table = document.querySelector('#table-item-value-demo');
378
+ table.items = initItems(50);
379
+ table.itemValue = (item) => item.id;
380
+
381
+ table.renderItem = (item, index) => {
382
+ const cell1 = document.createElement('sp-table-cell');
383
+ const cell2 = document.createElement('sp-table-cell');
384
+ const cell3 = document.createElement('sp-table-cell');
385
+ cell1.textContent = `Row Item Alpha ${item.name}`;
386
+ cell2.textContent = `Row Item Alpha ${index}`;
387
+ cell3.textContent = `Last Thing`;
388
+ return [cell1, cell2, cell3];
389
+ };
390
+
391
+ table.addEventListener('change', (event) => {
392
+ const selected = event.target.nextElementSibling;
393
+ selected.textContent = `Selected: ${JSON.stringify(event.target.selected, null, ' ')}`;
394
+ });
395
+ };
396
+ customElements.whenDefined('sp-table').then(() => {
397
+ initTable();
398
+ });
399
+ </script>
400
+
401
+ ### Row Types
402
+
403
+ All values in the item array are assumed to be homogenous by default. This means all of the rendered rows are either delivered as provided, or, in the case you are leveraging `selects`, rendered with an `<sp-table-checkbox-cell>`. However, when virtualizing a table with selection it can sometimes be useful to surface rows with additional interactions, e.g. "Load more data" links. To support that you can optionally include the `_$rowType$` brand in your item. The values for this are outlined by the `RowType` enum and include `ITEM` (0) and `INFORMATION` (1). When `_$rowType$: RowType.INFORMATION` is provided it informs the `<sp-table>` element not to deliver an `<sp-table-checkbox-cell>` with that row.
404
+
405
+ ```html-live
406
+ <sp-table
407
+ size="m"
408
+ id="table-row-type-demo"
409
+ style="height: 200px"
410
+ scroller="true"
411
+ selects="single"
412
+ >
413
+ <sp-table-head>
414
+ <sp-table-head-cell>Column Title</sp-table-head-cell>
415
+ <sp-table-head-cell>Column Title</sp-table-head-cell>
416
+ <sp-table-head-cell>Column Title</sp-table-head-cell>
417
+ </sp-table-head>
418
+ </sp-table>
419
+ <script type="module">
420
+ const initItems = (count) => {
421
+ const total = count;
422
+ const items = [];
423
+ while (count) {
424
+ count--;
425
+ items.push({
426
+ name: String(total - count),
427
+ date: count,
428
+ });
429
+ }
430
+ return items;
431
+ };
432
+ const initTable = () => {
433
+ const table = document.querySelector('#table-row-type-demo');
434
+ const items = initItems(50);
435
+ items.splice(3, 0, {
436
+ _$rowType$: 1,
437
+ });
438
+ table.items = items;
439
+
440
+ table.renderItem = (item, index) => {
441
+ if (item._$rowType$ === 1) {
442
+ const infoCell = document.createElement('sp-table-cell');
443
+ infoCell.textContent = 'Use this row type for non-selectable content.';
444
+ return [infoCell];
445
+ }
446
+ const cell1 = document.createElement('sp-table-cell');
447
+ const cell2 = document.createElement('sp-table-cell');
448
+ const cell3 = document.createElement('sp-table-cell');
449
+ cell1.textContent = `Row Item Alpha ${item.name}`;
450
+ cell2.textContent = `Row Item Alpha ${index}`;
451
+ cell3.textContent = `Last Thing`;
452
+ return [cell1, cell2, cell3];
453
+ };
454
+ };
455
+ customElements.whenDefined('sp-table').then(() => {
456
+ initTable();
457
+ });
458
+ </script>
459
+ ```
460
+
461
+ <script type="module">
462
+ const initItems = (count) => {
463
+ const total = count;
464
+ const items = [];
465
+ while (count) {
466
+ count--;
467
+ items.push({
468
+ name: String(total - count),
469
+ date: count,
470
+ });
471
+ }
472
+ return items;
473
+ }
474
+
475
+ const initTable = () => {
476
+ const table = document.querySelector('#table-row-type-demo');
477
+ const items = initItems(50);
478
+ items.splice(3, 0, {
479
+ _$rowType$: 1,
480
+ });
481
+ table.items = items;
482
+
483
+
484
+ table.renderItem = (item, index) => {
485
+ if (item._$rowType$ === 1) {
486
+ const infoCell = document.createElement('sp-table-cell');
487
+ infoCell.textContent = 'Use this row type for non-selectable content.';
488
+ return [infoCell];
489
+ }
490
+ const cell1 = document.createElement('sp-table-cell');
491
+ const cell2 = document.createElement('sp-table-cell');
492
+ const cell3 = document.createElement('sp-table-cell');
493
+ cell1.textContent = `Row Item Alpha ${item.name}`;
494
+ cell2.textContent = `Row Item Alpha ${index}`;
495
+ cell3.textContent = `Last Thing`;
496
+ return [cell1, cell2, cell3];
497
+ };
498
+ };
499
+ customElements.whenDefined('sp-table').then(() => {
500
+ initTable();
501
+ });
502
+ </script>
503
+
332
504
  ### The `scroller` property
333
505
 
334
506
  By default, the virtualized table doesn't contain a scroll bar and will display the entire length of the table body. Use the `scroller` property and specify an inline style for the height to get a `Table` of your desired height that scrolls.
@@ -4,7 +4,7 @@
4
4
  "modules": [
5
5
  {
6
6
  "kind": "javascript-module",
7
- "path": "sp-table-body.ts",
7
+ "path": "sp-table-body.js",
8
8
  "declarations": [],
9
9
  "exports": [
10
10
  {
@@ -19,7 +19,7 @@
19
19
  },
20
20
  {
21
21
  "kind": "javascript-module",
22
- "path": "sp-table-cell.ts",
22
+ "path": "sp-table-cell.js",
23
23
  "declarations": [],
24
24
  "exports": [
25
25
  {
@@ -34,7 +34,7 @@
34
34
  },
35
35
  {
36
36
  "kind": "javascript-module",
37
- "path": "sp-table-checkbox-cell.ts",
37
+ "path": "sp-table-checkbox-cell.js",
38
38
  "declarations": [],
39
39
  "exports": [
40
40
  {
@@ -49,7 +49,7 @@
49
49
  },
50
50
  {
51
51
  "kind": "javascript-module",
52
- "path": "sp-table-head-cell.ts",
52
+ "path": "sp-table-head-cell.js",
53
53
  "declarations": [],
54
54
  "exports": [
55
55
  {
@@ -64,7 +64,7 @@
64
64
  },
65
65
  {
66
66
  "kind": "javascript-module",
67
- "path": "sp-table-head.ts",
67
+ "path": "sp-table-head.js",
68
68
  "declarations": [],
69
69
  "exports": [
70
70
  {
@@ -79,7 +79,7 @@
79
79
  },
80
80
  {
81
81
  "kind": "javascript-module",
82
- "path": "sp-table-row.ts",
82
+ "path": "sp-table-row.js",
83
83
  "declarations": [],
84
84
  "exports": [
85
85
  {
@@ -94,7 +94,7 @@
94
94
  },
95
95
  {
96
96
  "kind": "javascript-module",
97
- "path": "sp-table.ts",
97
+ "path": "sp-table.js",
98
98
  "declarations": [],
99
99
  "exports": [
100
100
  {
@@ -109,7 +109,7 @@
109
109
  },
110
110
  {
111
111
  "kind": "javascript-module",
112
- "path": "src/Table.ts",
112
+ "path": "src/Table.js",
113
113
  "declarations": [
114
114
  {
115
115
  "kind": "class",
@@ -231,7 +231,8 @@
231
231
  "privacy": "public",
232
232
  "default": "false",
233
233
  "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.",
234
- "attribute": "scroller"
234
+ "attribute": "scroller",
235
+ "reflects": true
235
236
  },
236
237
  {
237
238
  "kind": "field",
@@ -476,6 +477,12 @@
476
477
  "fieldName": "scroller"
477
478
  }
478
479
  ],
480
+ "mixins": [
481
+ {
482
+ "name": "SizedMixin",
483
+ "package": "@spectrum-web-components/base"
484
+ }
485
+ ],
479
486
  "superclass": {
480
487
  "name": "SpectrumElement",
481
488
  "package": "@spectrum-web-components/base"
@@ -490,7 +497,7 @@
490
497
  "name": "RangeChangedEvent",
491
498
  "declaration": {
492
499
  "name": "RangeChangedEvent",
493
- "module": "src/Table.ts"
500
+ "module": "src/Table.js"
494
501
  }
495
502
  },
496
503
  {
@@ -498,14 +505,14 @@
498
505
  "name": "Table",
499
506
  "declaration": {
500
507
  "name": "Table",
501
- "module": "src/Table.ts"
508
+ "module": "src/Table.js"
502
509
  }
503
510
  }
504
511
  ]
505
512
  },
506
513
  {
507
514
  "kind": "javascript-module",
508
- "path": "src/TableBody.ts",
515
+ "path": "src/TableBody.js",
509
516
  "declarations": [
510
517
  {
511
518
  "kind": "class",
@@ -548,14 +555,14 @@
548
555
  "name": "TableBody",
549
556
  "declaration": {
550
557
  "name": "TableBody",
551
- "module": "src/TableBody.ts"
558
+ "module": "src/TableBody.js"
552
559
  }
553
560
  }
554
561
  ]
555
562
  },
556
563
  {
557
564
  "kind": "javascript-module",
558
- "path": "src/TableCell.ts",
565
+ "path": "src/TableCell.js",
559
566
  "declarations": [
560
567
  {
561
568
  "kind": "class",
@@ -598,14 +605,14 @@
598
605
  "name": "TableCell",
599
606
  "declaration": {
600
607
  "name": "TableCell",
601
- "module": "src/TableCell.ts"
608
+ "module": "src/TableCell.js"
602
609
  }
603
610
  }
604
611
  ]
605
612
  },
606
613
  {
607
614
  "kind": "javascript-module",
608
- "path": "src/TableCheckboxCell.ts",
615
+ "path": "src/TableCheckboxCell.js",
609
616
  "declarations": [
610
617
  {
611
618
  "kind": "class",
@@ -674,8 +681,8 @@
674
681
  },
675
682
  {
676
683
  "kind": "method",
677
- "name": "handleChange",
678
- "privacy": "protected",
684
+ "name": "click",
685
+ "privacy": "public",
679
686
  "return": {
680
687
  "type": {
681
688
  "text": "void"
@@ -683,14 +690,6 @@
683
690
  }
684
691
  }
685
692
  ],
686
- "events": [
687
- {
688
- "name": "change",
689
- "type": {
690
- "text": "Event"
691
- }
692
- }
693
- ],
694
693
  "attributes": [
695
694
  {
696
695
  "name": "role",
@@ -747,14 +746,14 @@
747
746
  "name": "TableCheckboxCell",
748
747
  "declaration": {
749
748
  "name": "TableCheckboxCell",
750
- "module": "src/TableCheckboxCell.ts"
749
+ "module": "src/TableCheckboxCell.js"
751
750
  }
752
751
  }
753
752
  ]
754
753
  },
755
754
  {
756
755
  "kind": "javascript-module",
757
- "path": "src/TableHead.ts",
756
+ "path": "src/TableHead.js",
758
757
  "declarations": [
759
758
  {
760
759
  "kind": "class",
@@ -850,14 +849,14 @@
850
849
  "name": "TableHead",
851
850
  "declaration": {
852
851
  "name": "TableHead",
853
- "module": "src/TableHead.ts"
852
+ "module": "src/TableHead.js"
854
853
  }
855
854
  }
856
855
  ]
857
856
  },
858
857
  {
859
858
  "kind": "javascript-module",
860
- "path": "src/TableHeadCell.ts",
859
+ "path": "src/TableHeadCell.js",
861
860
  "declarations": [
862
861
  {
863
862
  "kind": "class",
@@ -973,14 +972,14 @@
973
972
  "name": "TableHeadCell",
974
973
  "declaration": {
975
974
  "name": "TableHeadCell",
976
- "module": "src/TableHeadCell.ts"
975
+ "module": "src/TableHeadCell.js"
977
976
  }
978
977
  }
979
978
  ]
980
979
  },
981
980
  {
982
981
  "kind": "javascript-module",
983
- "path": "src/TableRow.ts",
982
+ "path": "src/TableRow.js",
984
983
  "declarations": [
985
984
  {
986
985
  "kind": "class",
@@ -1005,6 +1004,16 @@
1005
1004
  "attribute": "role",
1006
1005
  "reflects": true
1007
1006
  },
1007
+ {
1008
+ "kind": "field",
1009
+ "name": "selectable",
1010
+ "type": {
1011
+ "text": "boolean"
1012
+ },
1013
+ "privacy": "public",
1014
+ "default": "false",
1015
+ "attribute": "selectable"
1016
+ },
1008
1017
  {
1009
1018
  "kind": "field",
1010
1019
  "name": "selected",
@@ -1032,18 +1041,36 @@
1032
1041
  "privacy": "protected",
1033
1042
  "return": {
1034
1043
  "type": {
1035
- "text": "void"
1044
+ "text": "Promise<void>"
1036
1045
  }
1037
1046
  },
1038
1047
  "parameters": [
1039
1048
  {
1040
- "name": "{\n target: checkboxCell,\n }",
1049
+ "name": "event",
1041
1050
  "type": {
1042
1051
  "text": "Event & { target: TableCheckboxCell }"
1043
1052
  }
1044
1053
  }
1045
1054
  ]
1046
1055
  },
1056
+ {
1057
+ "kind": "method",
1058
+ "name": "handleSlotchange",
1059
+ "privacy": "protected",
1060
+ "return": {
1061
+ "type": {
1062
+ "text": "void"
1063
+ }
1064
+ },
1065
+ "parameters": [
1066
+ {
1067
+ "name": "{\n target,\n }",
1068
+ "type": {
1069
+ "text": "Event & { target: HTMLSlotElement }"
1070
+ }
1071
+ }
1072
+ ]
1073
+ },
1047
1074
  {
1048
1075
  "kind": "method",
1049
1076
  "name": "manageSelected",
@@ -1053,6 +1080,24 @@
1053
1080
  "text": "void"
1054
1081
  }
1055
1082
  }
1083
+ },
1084
+ {
1085
+ "kind": "method",
1086
+ "name": "handleClick",
1087
+ "privacy": "protected",
1088
+ "return": {
1089
+ "type": {
1090
+ "text": "void"
1091
+ }
1092
+ },
1093
+ "parameters": [
1094
+ {
1095
+ "name": "event",
1096
+ "type": {
1097
+ "text": "Event"
1098
+ }
1099
+ }
1100
+ ]
1056
1101
  }
1057
1102
  ],
1058
1103
  "events": [
@@ -1070,6 +1115,14 @@
1070
1115
  "default": "'row'",
1071
1116
  "fieldName": "role"
1072
1117
  },
1118
+ {
1119
+ "name": "selectable",
1120
+ "type": {
1121
+ "text": "boolean"
1122
+ },
1123
+ "default": "false",
1124
+ "fieldName": "selectable"
1125
+ },
1073
1126
  {
1074
1127
  "name": "selected",
1075
1128
  "type": {
@@ -1101,7 +1154,7 @@
1101
1154
  "name": "TableRow",
1102
1155
  "declaration": {
1103
1156
  "name": "TableRow",
1104
- "module": "src/TableRow.ts"
1157
+ "module": "src/TableRow.js"
1105
1158
  }
1106
1159
  }
1107
1160
  ]
package/elements.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import './sp-table-body.js';
2
+ import './sp-table-cell.js';
3
+ import './sp-table-checkbox-cell.js';
4
+ import './sp-table-head-cell.js';
5
+ import './sp-table-head.js';
6
+ import './sp-table-row.js';
7
+ import './sp-table-table.js';
@@ -0,0 +1,8 @@
1
+ import "./sp-table-body.dev.js";
2
+ import "./sp-table-cell.dev.js";
3
+ import "./sp-table-checkbox-cell.dev.js";
4
+ import "./sp-table-head-cell.dev.js";
5
+ import "./sp-table-head.dev.js";
6
+ import "./sp-table-row.dev.js";
7
+ import "./sp-table-table.dev.js";
8
+ //# sourceMappingURL=elements.dev.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["elements.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2022 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport './sp-table-body.dev.js'\nimport './sp-table-cell.dev.js'\nimport './sp-table-checkbox-cell.dev.js'\nimport './sp-table-head-cell.dev.js'\nimport './sp-table-head.dev.js'\nimport './sp-table-row.dev.js'\nimport './sp-table-table.dev.js'\n"],
5
+ "mappings": "AAYA;AACA;AACA;AACA;AACA;AACA;AACA;",
6
+ "names": []
7
+ }
package/elements.js ADDED
@@ -0,0 +1,2 @@
1
+ import"./sp-table-body.js";import"./sp-table-cell.js";import"./sp-table-checkbox-cell.js";import"./sp-table-head-cell.js";import"./sp-table-head.js";import"./sp-table-row.js";import"./sp-table-table.js";
2
+ //# sourceMappingURL=elements.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["elements.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2022 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport './sp-table-body.js';\nimport './sp-table-cell.js';\nimport './sp-table-checkbox-cell.js';\nimport './sp-table-head-cell.js';\nimport './sp-table-head.js';\nimport './sp-table-row.js';\nimport './sp-table-table.js';\n"],
5
+ "mappings": "AAYA,2BACA,2BACA,oCACA,gCACA,2BACA,0BACA",
6
+ "names": []
7
+ }