@spectrum-web-components/table 0.0.2-table.2695 → 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 (141) hide show
  1. package/elements.dev.js +8 -0
  2. package/elements.dev.js.map +7 -0
  3. package/elements.js +2 -19
  4. package/elements.js.map +7 -1
  5. package/package.json +6 -6
  6. package/sp-table-body.dev.js +3 -0
  7. package/sp-table-body.dev.js.map +7 -0
  8. package/sp-table-body.js +2 -14
  9. package/sp-table-body.js.map +7 -1
  10. package/sp-table-cell.dev.js +3 -0
  11. package/sp-table-cell.dev.js.map +7 -0
  12. package/sp-table-cell.js +2 -14
  13. package/sp-table-cell.js.map +7 -1
  14. package/sp-table-checkbox-cell.dev.js +3 -0
  15. package/sp-table-checkbox-cell.dev.js.map +7 -0
  16. package/sp-table-checkbox-cell.js +2 -14
  17. package/sp-table-checkbox-cell.js.map +7 -1
  18. package/sp-table-head-cell.dev.js +3 -0
  19. package/sp-table-head-cell.dev.js.map +7 -0
  20. package/sp-table-head-cell.js +2 -14
  21. package/sp-table-head-cell.js.map +7 -1
  22. package/sp-table-head.dev.js +3 -0
  23. package/sp-table-head.dev.js.map +7 -0
  24. package/sp-table-head.js +2 -14
  25. package/sp-table-head.js.map +7 -1
  26. package/sp-table-row.dev.js +3 -0
  27. package/sp-table-row.dev.js.map +7 -0
  28. package/sp-table-row.js +2 -14
  29. package/sp-table-row.js.map +7 -1
  30. package/sp-table.dev.js +3 -0
  31. package/sp-table.dev.js.map +7 -0
  32. package/sp-table.js +2 -14
  33. package/sp-table.js.map +7 -1
  34. package/src/Table.dev.js +364 -0
  35. package/src/Table.dev.js.map +7 -0
  36. package/src/Table.js +13 -383
  37. package/src/Table.js.map +7 -1
  38. package/src/TableBody.dev.js +35 -0
  39. package/src/TableBody.dev.js.map +7 -0
  40. package/src/TableBody.js +3 -35
  41. package/src/TableBody.js.map +7 -1
  42. package/src/TableCell.dev.js +35 -0
  43. package/src/TableCell.dev.js.map +7 -0
  44. package/src/TableCell.js +3 -35
  45. package/src/TableCell.js.map +7 -1
  46. package/src/TableCheckboxCell.dev.js +70 -0
  47. package/src/TableCheckboxCell.dev.js.map +7 -0
  48. package/src/TableCheckboxCell.js +4 -62
  49. package/src/TableCheckboxCell.js.map +7 -1
  50. package/src/TableHead.dev.js +54 -0
  51. package/src/TableHead.dev.js.map +7 -0
  52. package/src/TableHead.js +3 -52
  53. package/src/TableHead.js.map +7 -1
  54. package/src/TableHeadCell.dev.js +90 -0
  55. package/src/TableHeadCell.dev.js.map +7 -0
  56. package/src/TableHeadCell.js +5 -92
  57. package/src/TableHeadCell.js.map +7 -1
  58. package/src/TableRow.dev.js +99 -0
  59. package/src/TableRow.dev.js.map +7 -0
  60. package/src/TableRow.js +3 -96
  61. package/src/TableRow.js.map +7 -1
  62. package/src/index.dev.js +2 -0
  63. package/src/index.dev.js.map +7 -0
  64. package/src/index.js +2 -13
  65. package/src/index.js.map +7 -1
  66. package/src/spectrum-table-body.css.dev.js +16 -0
  67. package/src/spectrum-table-body.css.dev.js.map +7 -0
  68. package/src/spectrum-table-body.css.js +3 -16
  69. package/src/spectrum-table-body.css.js.map +7 -1
  70. package/src/spectrum-table-cell.css.dev.js +26 -0
  71. package/src/spectrum-table-cell.css.dev.js.map +7 -0
  72. package/src/spectrum-table-cell.css.js +3 -16
  73. package/src/spectrum-table-cell.css.js.map +7 -1
  74. package/src/spectrum-table-checkbox-cell.css.dev.js +12 -0
  75. package/src/spectrum-table-checkbox-cell.css.dev.js.map +7 -0
  76. package/src/spectrum-table-checkbox-cell.css.js +3 -16
  77. package/src/spectrum-table-checkbox-cell.css.js.map +7 -1
  78. package/src/spectrum-table-head-cell.css.dev.js +60 -0
  79. package/src/spectrum-table-head-cell.css.dev.js.map +7 -0
  80. package/src/spectrum-table-head-cell.css.js +3 -16
  81. package/src/spectrum-table-head-cell.css.js.map +7 -1
  82. package/src/spectrum-table-head.css.dev.js +6 -0
  83. package/src/spectrum-table-head.css.dev.js.map +7 -0
  84. package/src/spectrum-table-head.css.js +3 -16
  85. package/src/spectrum-table-head.css.js.map +7 -1
  86. package/src/spectrum-table-row.css.dev.js +32 -0
  87. package/src/spectrum-table-row.css.dev.js.map +7 -0
  88. package/src/spectrum-table-row.css.js +3 -16
  89. package/src/spectrum-table-row.css.js.map +7 -1
  90. package/src/spectrum-table.css.dev.js +512 -0
  91. package/src/spectrum-table.css.dev.js.map +7 -0
  92. package/src/spectrum-table.css.js +3 -16
  93. package/src/spectrum-table.css.js.map +7 -1
  94. package/src/table-body.css.dev.js +16 -0
  95. package/src/table-body.css.dev.js.map +7 -0
  96. package/src/table-body.css.js +3 -16
  97. package/src/table-body.css.js.map +7 -1
  98. package/src/table-cell.css.dev.js +26 -0
  99. package/src/table-cell.css.dev.js.map +7 -0
  100. package/src/table-cell.css.js +3 -16
  101. package/src/table-cell.css.js.map +7 -1
  102. package/src/table-checkbox-cell.css.dev.js +12 -0
  103. package/src/table-checkbox-cell.css.dev.js.map +7 -0
  104. package/src/table-checkbox-cell.css.js +3 -16
  105. package/src/table-checkbox-cell.css.js.map +7 -1
  106. package/src/table-head-cell.css.dev.js +60 -0
  107. package/src/table-head-cell.css.dev.js.map +7 -0
  108. package/src/table-head-cell.css.js +3 -16
  109. package/src/table-head-cell.css.js.map +7 -1
  110. package/src/table-head.css.dev.js +6 -0
  111. package/src/table-head.css.dev.js.map +7 -0
  112. package/src/table-head.css.js +3 -16
  113. package/src/table-head.css.js.map +7 -1
  114. package/src/table-row.css.dev.js +32 -0
  115. package/src/table-row.css.dev.js.map +7 -0
  116. package/src/table-row.css.js +3 -16
  117. package/src/table-row.css.js.map +7 -1
  118. package/src/table.css.dev.js +512 -0
  119. package/src/table.css.dev.js.map +7 -0
  120. package/src/table.css.js +3 -16
  121. package/src/table.css.js.map +7 -1
  122. package/stories/index.js +6 -35
  123. package/stories/index.js.map +7 -1
  124. package/stories/table-elements.stories.js +11 -121
  125. package/stories/table-elements.stories.js.map +7 -1
  126. package/stories/table-virtualized.stories.js +34 -184
  127. package/stories/table-virtualized.stories.js.map +7 -1
  128. package/test/benchmark/basic-test.js +3 -17
  129. package/test/benchmark/basic-test.js.map +7 -1
  130. package/test/table-elements.test-vrt.js +2 -15
  131. package/test/table-elements.test-vrt.js.map +7 -1
  132. package/test/table-selects.test.js +4 -177
  133. package/test/table-selects.test.js.map +7 -1
  134. package/test/table-virtualized.test-vrt.js +2 -15
  135. package/test/table-virtualized.test-vrt.js.map +7 -1
  136. package/test/table.test.js +9 -109
  137. package/test/table.test.js.map +7 -1
  138. package/test/virtualized-table-selects.test.js +26 -310
  139. package/test/virtualized-table-selects.test.js.map +7 -1
  140. package/test/virtualized-table.test.js +24 -207
  141. package/test/virtualized-table.test.js.map +7 -1
@@ -1,53 +1,4 @@
1
- /* STORIES
2
- Copyright 2022 Adobe. All rights reserved.
3
- This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
- you may not use this file except in compliance with the License. You may obtain a copy
5
- of the License at http://www.apache.org/licenses/LICENSE-2.0
6
-
7
- Unless required by applicable law or agreed to in writing, software distributed under
8
- the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
- OF ANY KIND, either express or implied. See the License for the specific language
10
- governing permissions and limitations under the License.
11
- */
12
- import { html } from '@spectrum-web-components/base';
13
- import '../sp-table.js';
14
- import '../sp-table-checkbox-cell.js';
15
- import '../sp-table-head.js';
16
- import '../sp-table-head-cell.js';
17
- import '../sp-table-body.js';
18
- import '../sp-table-row.js';
19
- import '../sp-table-cell.js';
20
- export default {
21
- title: 'Table',
22
- component: 'sp-table',
23
- args: {
24
- selected: [],
25
- selects: '',
26
- },
27
- argTypes: {
28
- selected: {
29
- name: 'selected',
30
- description: 'The value of the selected `<sp-table-row>`(s).',
31
- control: {
32
- type: 'text',
33
- },
34
- },
35
- selects: {
36
- name: 'selects',
37
- description: 'Whether the elements selects its children and how many it can select at a time.',
38
- table: {
39
- type: { summary: 'string' },
40
- defaultValue: { summary: '' },
41
- },
42
- control: {
43
- type: 'inline-radio',
44
- options: ['', 'single', 'multiple'],
45
- },
46
- },
47
- },
48
- };
49
- export const elements = () => {
50
- return html `
1
+ import{html as e}from"@spectrum-web-components/base";import"../sp-table.js";import"../sp-table-checkbox-cell.js";import"../sp-table-head.js";import"../sp-table-head-cell.js";import"../sp-table-body.js";import"../sp-table-row.js";import"../sp-table-cell.js";export default{title:"Table",component:"sp-table",args:{selected:[],selects:""},argTypes:{selected:{name:"selected",description:"The value of the selected `<sp-table-row>`(s).",control:{type:"text"}},selects:{name:"selects",description:"Whether the elements selects its children and how many it can select at a time.",table:{type:{summary:"string"},defaultValue:{summary:""}},control:{type:"inline-radio",options:["","single","multiple"]}}}};export const elements=()=>e`
51
2
  <sp-table size="m">
52
3
  <sp-table-head>
53
4
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -82,10 +33,7 @@ export const elements = () => {
82
33
  </sp-table-row>
83
34
  </sp-table-body>
84
35
  </sp-table>
85
- `;
86
- };
87
- export const small = () => {
88
- return html `
36
+ `,small=()=>e`
89
37
  <sp-table size="s">
90
38
  <sp-table-head>
91
39
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -120,18 +68,12 @@ export const small = () => {
120
68
  </sp-table-row>
121
69
  </sp-table-body>
122
70
  </sp-table>
123
- `;
124
- };
125
- export const selectsSingle = () => {
126
- return html `
71
+ `,selectsSingle=()=>e`
127
72
  <sp-table
128
73
  size="m"
129
74
  selects="single"
130
- .selected=${['row1']}
131
- @change=${({ target }) => {
132
- const next = target.nextElementSibling;
133
- next.textContent = `Selected: ${JSON.stringify(target.selected)}`;
134
- }}
75
+ .selected=${["row1"]}
76
+ @change=${({target:l})=>{const t=l.nextElementSibling;t.textContent=`Selected: ${JSON.stringify(l.selected)}`}}
135
77
  >
136
78
  <sp-table-head>
137
79
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -167,11 +109,8 @@ export const selectsSingle = () => {
167
109
  </sp-table-body>
168
110
  </sp-table>
169
111
  <div>Selected: ["row1"]</div>
170
- `;
171
- };
172
- export const noSelectsSpecified = () => {
173
- return html `
174
- <sp-table size="m" .selected=${['row1', 'row2']}>
112
+ `,noSelectsSpecified=()=>e`
113
+ <sp-table size="m" .selected=${["row1","row2"]}>
175
114
  <sp-table-head>
176
115
  <sp-table-head-cell>Column Title</sp-table-head-cell>
177
116
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -205,20 +144,12 @@ export const noSelectsSpecified = () => {
205
144
  </sp-table-row>
206
145
  </sp-table-body>
207
146
  </sp-table>
208
- `;
209
- };
210
- export const selectsMultiple = () => {
211
- return html `
147
+ `,selectsMultiple=()=>e`
212
148
  <sp-table
213
149
  size="m"
214
150
  selects="multiple"
215
- .selected=${['row1', 'row2']}
216
- @change=${({ target }) => {
217
- const next = target.nextElementSibling;
218
- next.textContent = `Selected: ${JSON.stringify(target.selected, null, ' ')}`;
219
- const nextNext = next.nextElementSibling;
220
- nextNext.textContent = `Selected Count: ${target.selected.length}`;
221
- }}
151
+ .selected=${["row1","row2"]}
152
+ @change=${({target:l})=>{const t=l.nextElementSibling;t.textContent=`Selected: ${JSON.stringify(l.selected,null," ")}`;const a=t.nextElementSibling;a.textContent=`Selected Count: ${l.selected.length}`}}
222
153
  >
223
154
  <sp-table-head>
224
155
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -256,45 +187,4 @@ export const selectsMultiple = () => {
256
187
  <div>Selected: ["row1", "row2"]</div>
257
188
  <div>Selected Count: 2</div>
258
189
  `;
259
- };
260
- // export const selectsMultipleAttributes = (): TemplateResult => {
261
- // return html`
262
- // <sp-table size="m" selects="multiple">
263
- // <sp-table-head>
264
- // <sp-table-head-cell>
265
- // Column Title
266
- // </sp-table-head-cell>
267
- // <sp-table-head-cell>Column Title</sp-table-head-cell>
268
- // <sp-table-head-cell>Column Title</sp-table-head-cell>
269
- // </sp-table-head>
270
- // <sp-table-body style="height: 120px">
271
- // <sp-table-row value="row1" selected>
272
- // <sp-table-cell>Row Item Alpha</sp-table-cell>
273
- // <sp-table-cell>Row Item Alpha</sp-table-cell>
274
- // <sp-table-cell>Row Item Alpha</sp-table-cell>
275
- // </sp-table-row>
276
- // <sp-table-row value="row2">
277
- // <sp-table-cell>Row Item Bravo</sp-table-cell>
278
- // <sp-table-cell>Row Item Bravo</sp-table-cell>
279
- // <sp-table-cell>Row Item Bravo</sp-table-cell>
280
- // </sp-table-row>
281
- // <sp-table-row value="row3" selected>
282
- // <sp-table-cell>Row Item Charlie</sp-table-cell>
283
- // <sp-table-cell>Row Item Charlie</sp-table-cell>
284
- // <sp-table-cell>Row Item Charlie</sp-table-cell>
285
- // </sp-table-row>
286
- // <sp-table-row value="row4">
287
- // <sp-table-cell>Row Item Delta</sp-table-cell>
288
- // <sp-table-cell>Row Item Delta</sp-table-cell>
289
- // <sp-table-cell>Row Item Delta</sp-table-cell>
290
- // </sp-table-row>
291
- // <sp-table-row value="row5">
292
- // <sp-table-cell>Row Item Echo</sp-table-cell>
293
- // <sp-table-cell>Row Item Echo</sp-table-cell>
294
- // <sp-table-cell>Row Item Echo</sp-table-cell>
295
- // </sp-table-row>
296
- // </sp-table-body>
297
- // </sp-table>
298
- // `;
299
- // };
300
- //# sourceMappingURL=table-elements.stories.js.map
190
+ //# sourceMappingURL=table-elements.stories.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"table-elements.stories.js","sourceRoot":"","sources":["table-elements.stories.ts"],"names":[],"mappings":"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","sourcesContent":["/* STORIES\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*/\nimport { html, TemplateResult } from '@spectrum-web-components/base';\n\nimport '../sp-table.js';\nimport '../sp-table-checkbox-cell.js';\nimport '../sp-table-head.js';\nimport '../sp-table-head-cell.js';\nimport '../sp-table-body.js';\nimport '../sp-table-row.js';\nimport '../sp-table-cell.js';\nimport { Table } from '../src/Table.js';\n\nexport default {\n title: 'Table',\n component: 'sp-table',\n args: {\n selected: [],\n selects: '',\n },\n argTypes: {\n selected: {\n name: 'selected',\n description: 'The value of the selected `<sp-table-row>`(s).',\n control: {\n type: 'text',\n },\n },\n selects: {\n name: 'selects',\n description:\n 'Whether the elements selects its children and how many it can select at a time.',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: '' },\n },\n control: {\n type: 'inline-radio',\n options: ['', 'single', 'multiple'],\n },\n },\n },\n};\n\nexport const elements = (): TemplateResult => {\n return html`\n <sp-table size=\"m\">\n <sp-table-head>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n </sp-table-head>\n <sp-table-body style=\"height: 120px\">\n <sp-table-row value=\"row1\" class=\"row1\">\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row2\" class=\"row2\">\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row3\" class=\"row3\">\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row4\" class=\"row4\">\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row5\" class=\"row5\">\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n </sp-table-row>\n </sp-table-body>\n </sp-table>\n `;\n};\n\nexport const small = (): TemplateResult => {\n return html`\n <sp-table size=\"s\">\n <sp-table-head>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n </sp-table-head>\n <sp-table-body style=\"height: 120px\">\n <sp-table-row value=\"row1\" class=\"row1\">\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row2\" class=\"row2\">\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row3\" class=\"row3\">\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row4\" class=\"row4\">\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row5\" class=\"row5\">\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n </sp-table-row>\n </sp-table-body>\n </sp-table>\n `;\n};\n\nexport const selectsSingle = (): TemplateResult => {\n return html`\n <sp-table\n size=\"m\"\n selects=\"single\"\n .selected=${['row1']}\n @change=${({ target }: Event & { target: Table }) => {\n const next = target.nextElementSibling as HTMLDivElement;\n next.textContent = `Selected: ${JSON.stringify(\n target.selected\n )}`;\n }}\n >\n <sp-table-head>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n </sp-table-head>\n <sp-table-body style=\"height: 120px\">\n <sp-table-row value=\"row1\" class=\"row1\">\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row2\" class=\"row2\">\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row3\" class=\"row3\">\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row4\" class=\"row4\">\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row5\" class=\"row5\">\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n </sp-table-row>\n </sp-table-body>\n </sp-table>\n <div>Selected: [\"row1\"]</div>\n `;\n};\nexport const noSelectsSpecified = (): TemplateResult => {\n return html`\n <sp-table size=\"m\" .selected=${['row1', 'row2']}>\n <sp-table-head>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n </sp-table-head>\n <sp-table-body style=\"height: 120px\">\n <sp-table-row value=\"row1\" class=\"row1\">\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row2\" class=\"row2\">\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row3\" class=\"row3\">\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row4\" class=\"row4\">\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row5\" class=\"row5\">\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n </sp-table-row>\n </sp-table-body>\n </sp-table>\n `;\n};\n\nexport const selectsMultiple = (): TemplateResult => {\n return html`\n <sp-table\n size=\"m\"\n selects=\"multiple\"\n .selected=${['row1', 'row2']}\n @change=${({ target }: Event & { target: Table }) => {\n const next = target.nextElementSibling as HTMLDivElement;\n next.textContent = `Selected: ${JSON.stringify(\n target.selected,\n null,\n ' '\n )}`;\n const nextNext = next.nextElementSibling as HTMLDivElement;\n nextNext.textContent = `Selected Count: ${target.selected.length}`;\n }}\n >\n <sp-table-head>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n </sp-table-head>\n <sp-table-body style=\"height: 120px\">\n <sp-table-row value=\"row1\" class=\"row1\">\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row2\" class=\"row2\">\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row3\" class=\"row3\">\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row4\" class=\"row4\">\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row5\" class=\"row5\">\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n </sp-table-row>\n </sp-table-body>\n </sp-table>\n <div>Selected: [\"row1\", \"row2\"]</div>\n <div>Selected Count: 2</div>\n `;\n};\n\n// export const selectsMultipleAttributes = (): TemplateResult => {\n// return html`\n// <sp-table size=\"m\" selects=\"multiple\">\n// <sp-table-head>\n// <sp-table-head-cell>\n// Column Title\n// </sp-table-head-cell>\n// <sp-table-head-cell>Column Title</sp-table-head-cell>\n// <sp-table-head-cell>Column Title</sp-table-head-cell>\n// </sp-table-head>\n// <sp-table-body style=\"height: 120px\">\n// <sp-table-row value=\"row1\" selected>\n// <sp-table-cell>Row Item Alpha</sp-table-cell>\n// <sp-table-cell>Row Item Alpha</sp-table-cell>\n// <sp-table-cell>Row Item Alpha</sp-table-cell>\n// </sp-table-row>\n// <sp-table-row value=\"row2\">\n// <sp-table-cell>Row Item Bravo</sp-table-cell>\n// <sp-table-cell>Row Item Bravo</sp-table-cell>\n// <sp-table-cell>Row Item Bravo</sp-table-cell>\n// </sp-table-row>\n// <sp-table-row value=\"row3\" selected>\n// <sp-table-cell>Row Item Charlie</sp-table-cell>\n// <sp-table-cell>Row Item Charlie</sp-table-cell>\n// <sp-table-cell>Row Item Charlie</sp-table-cell>\n// </sp-table-row>\n// <sp-table-row value=\"row4\">\n// <sp-table-cell>Row Item Delta</sp-table-cell>\n// <sp-table-cell>Row Item Delta</sp-table-cell>\n// <sp-table-cell>Row Item Delta</sp-table-cell>\n// </sp-table-row>\n// <sp-table-row value=\"row5\">\n// <sp-table-cell>Row Item Echo</sp-table-cell>\n// <sp-table-cell>Row Item Echo</sp-table-cell>\n// <sp-table-cell>Row Item Echo</sp-table-cell>\n// </sp-table-row>\n// </sp-table-body>\n// </sp-table>\n// `;\n// };\n"]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["table-elements.stories.ts"],
4
+ "sourcesContent": ["/* STORIES\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*/\nimport { html, TemplateResult } from '@spectrum-web-components/base';\n\nimport '../sp-table.js';\nimport '../sp-table-checkbox-cell.js';\nimport '../sp-table-head.js';\nimport '../sp-table-head-cell.js';\nimport '../sp-table-body.js';\nimport '../sp-table-row.js';\nimport '../sp-table-cell.js';\nimport { Table } from '../src/Table.js';\n\nexport default {\n title: 'Table',\n component: 'sp-table',\n args: {\n selected: [],\n selects: '',\n },\n argTypes: {\n selected: {\n name: 'selected',\n description: 'The value of the selected `<sp-table-row>`(s).',\n control: {\n type: 'text',\n },\n },\n selects: {\n name: 'selects',\n description:\n 'Whether the elements selects its children and how many it can select at a time.',\n table: {\n type: { summary: 'string' },\n defaultValue: { summary: '' },\n },\n control: {\n type: 'inline-radio',\n options: ['', 'single', 'multiple'],\n },\n },\n },\n};\n\nexport const elements = (): TemplateResult => {\n return html`\n <sp-table size=\"m\">\n <sp-table-head>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n </sp-table-head>\n <sp-table-body style=\"height: 120px\">\n <sp-table-row value=\"row1\" class=\"row1\">\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row2\" class=\"row2\">\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row3\" class=\"row3\">\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row4\" class=\"row4\">\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row5\" class=\"row5\">\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n </sp-table-row>\n </sp-table-body>\n </sp-table>\n `;\n};\n\nexport const small = (): TemplateResult => {\n return html`\n <sp-table size=\"s\">\n <sp-table-head>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n </sp-table-head>\n <sp-table-body style=\"height: 120px\">\n <sp-table-row value=\"row1\" class=\"row1\">\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row2\" class=\"row2\">\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row3\" class=\"row3\">\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row4\" class=\"row4\">\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row5\" class=\"row5\">\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n </sp-table-row>\n </sp-table-body>\n </sp-table>\n `;\n};\n\nexport const selectsSingle = (): TemplateResult => {\n return html`\n <sp-table\n size=\"m\"\n selects=\"single\"\n .selected=${['row1']}\n @change=${({ target }: Event & { target: Table }) => {\n const next = target.nextElementSibling as HTMLDivElement;\n next.textContent = `Selected: ${JSON.stringify(\n target.selected\n )}`;\n }}\n >\n <sp-table-head>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n </sp-table-head>\n <sp-table-body style=\"height: 120px\">\n <sp-table-row value=\"row1\" class=\"row1\">\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row2\" class=\"row2\">\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row3\" class=\"row3\">\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row4\" class=\"row4\">\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row5\" class=\"row5\">\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n </sp-table-row>\n </sp-table-body>\n </sp-table>\n <div>Selected: [\"row1\"]</div>\n `;\n};\nexport const noSelectsSpecified = (): TemplateResult => {\n return html`\n <sp-table size=\"m\" .selected=${['row1', 'row2']}>\n <sp-table-head>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n </sp-table-head>\n <sp-table-body style=\"height: 120px\">\n <sp-table-row value=\"row1\" class=\"row1\">\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row2\" class=\"row2\">\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row3\" class=\"row3\">\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row4\" class=\"row4\">\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row5\" class=\"row5\">\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n </sp-table-row>\n </sp-table-body>\n </sp-table>\n `;\n};\n\nexport const selectsMultiple = (): TemplateResult => {\n return html`\n <sp-table\n size=\"m\"\n selects=\"multiple\"\n .selected=${['row1', 'row2']}\n @change=${({ target }: Event & { target: Table }) => {\n const next = target.nextElementSibling as HTMLDivElement;\n next.textContent = `Selected: ${JSON.stringify(\n target.selected,\n null,\n ' '\n )}`;\n const nextNext = next.nextElementSibling as HTMLDivElement;\n nextNext.textContent = `Selected Count: ${target.selected.length}`;\n }}\n >\n <sp-table-head>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n </sp-table-head>\n <sp-table-body style=\"height: 120px\">\n <sp-table-row value=\"row1\" class=\"row1\">\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n <sp-table-cell>Row Item Alpha</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row2\" class=\"row2\">\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n <sp-table-cell>Row Item Bravo</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row3\" class=\"row3\">\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n <sp-table-cell>Row Item Charlie</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row4\" class=\"row4\">\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n <sp-table-cell>Row Item Delta</sp-table-cell>\n </sp-table-row>\n <sp-table-row value=\"row5\" class=\"row5\">\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n <sp-table-cell>Row Item Echo</sp-table-cell>\n </sp-table-row>\n </sp-table-body>\n </sp-table>\n <div>Selected: [\"row1\", \"row2\"]</div>\n <div>Selected Count: 2</div>\n `;\n};\n\n// export const selectsMultipleAttributes = (): TemplateResult => {\n// return html`\n// <sp-table size=\"m\" selects=\"multiple\">\n// <sp-table-head>\n// <sp-table-head-cell>\n// Column Title\n// </sp-table-head-cell>\n// <sp-table-head-cell>Column Title</sp-table-head-cell>\n// <sp-table-head-cell>Column Title</sp-table-head-cell>\n// </sp-table-head>\n// <sp-table-body style=\"height: 120px\">\n// <sp-table-row value=\"row1\" selected>\n// <sp-table-cell>Row Item Alpha</sp-table-cell>\n// <sp-table-cell>Row Item Alpha</sp-table-cell>\n// <sp-table-cell>Row Item Alpha</sp-table-cell>\n// </sp-table-row>\n// <sp-table-row value=\"row2\">\n// <sp-table-cell>Row Item Bravo</sp-table-cell>\n// <sp-table-cell>Row Item Bravo</sp-table-cell>\n// <sp-table-cell>Row Item Bravo</sp-table-cell>\n// </sp-table-row>\n// <sp-table-row value=\"row3\" selected>\n// <sp-table-cell>Row Item Charlie</sp-table-cell>\n// <sp-table-cell>Row Item Charlie</sp-table-cell>\n// <sp-table-cell>Row Item Charlie</sp-table-cell>\n// </sp-table-row>\n// <sp-table-row value=\"row4\">\n// <sp-table-cell>Row Item Delta</sp-table-cell>\n// <sp-table-cell>Row Item Delta</sp-table-cell>\n// <sp-table-cell>Row Item Delta</sp-table-cell>\n// </sp-table-row>\n// <sp-table-row value=\"row5\">\n// <sp-table-cell>Row Item Echo</sp-table-cell>\n// <sp-table-cell>Row Item Echo</sp-table-cell>\n// <sp-table-cell>Row Item Echo</sp-table-cell>\n// </sp-table-row>\n// </sp-table-body>\n// </sp-table>\n// `;\n// };\n"],
5
+ "mappings": "AAWA,qDAEA,uBACA,qCACA,4BACA,iCACA,4BACA,2BACA,4BAGA,cAAe,CACX,MAAO,QACP,UAAW,WACX,KAAM,CACF,SAAU,CAAC,EACX,QAAS,EACb,EACA,SAAU,CACN,SAAU,CACN,KAAM,WACN,YAAa,iDACb,QAAS,CACL,KAAM,MACV,CACJ,EACA,QAAS,CACL,KAAM,UACN,YACI,kFACJ,MAAO,CACH,KAAM,CAAE,QAAS,QAAS,EAC1B,aAAc,CAAE,QAAS,EAAG,CAChC,EACA,QAAS,CACL,KAAM,eACN,QAAS,CAAC,GAAI,SAAU,UAAU,CACtC,CACJ,CACJ,CACJ,EAEO,YAAM,UAAW,IACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAsCE,MAAQ,IACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAsCE,cAAgB,IAClB;AAAA;AAAA;AAAA;AAAA,wBAIa,CAAC,MAAM;AAAA,sBACT,CAAC,CAAE,YAAwC,CACjD,KAAM,GAAO,EAAO,mBACpB,EAAK,YAAc,aAAa,KAAK,UACjC,EAAO,QACX,GACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAsCC,mBAAqB,IACvB;AAAA,uCAC4B,CAAC,OAAQ,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAqCzC,gBAAkB,IACpB;AAAA;AAAA;AAAA;AAAA,wBAIa,CAAC,OAAQ,MAAM;AAAA,sBACjB,CAAC,CAAE,YAAwC,CACjD,KAAM,GAAO,EAAO,mBACpB,EAAK,YAAc,aAAa,KAAK,UACjC,EAAO,SACP,KACA,GACJ,IACA,KAAM,GAAW,EAAK,mBACtB,EAAS,YAAc,mBAAmB,EAAO,SAAS,QAC9D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -1,89 +1,12 @@
1
- import { __decorate } from "tslib";
2
- /* STORIES
3
- Copyright 2022 Adobe. All rights reserved.
4
- This file is licensed to you under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License. You may obtain a copy
6
- of the License at http://www.apache.org/licenses/LICENSE-2.0
7
-
8
- Unless required by applicable law or agreed to in writing, software distributed under
9
- the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
10
- OF ANY KIND, either express or implied. See the License for the specific language
11
- governing permissions and limitations under the License.
12
- */
13
- import { html, SpectrumElement, } from '@spectrum-web-components/base';
14
- import { property } from '@spectrum-web-components/base/src/decorators.js';
15
- import '../sp-table.js';
16
- import '../sp-table-checkbox-cell.js';
17
- import '../sp-table-head.js';
18
- import '../sp-table-head-cell.js';
19
- import '../sp-table-body.js';
20
- import '../sp-table-row.js';
21
- import '../sp-table-cell.js';
22
- import { makeItems, renderItem } from './index.js';
23
- export default {
24
- title: 'Table/Virtualized',
25
- component: 'sp-table',
26
- argTypes: {
27
- onChange: { action: 'change' },
28
- selected: {
29
- name: 'selected',
30
- description: 'The array of item values selected by the Table.',
31
- type: { name: '', required: false },
32
- control: 'text',
33
- },
34
- selects: {
35
- name: 'selects',
36
- description: 'If the Table accepts a "single" or "multiple" selection.',
37
- control: {
38
- type: 'inline-radio',
39
- options: ['', 'single', 'multiple'],
40
- },
41
- },
42
- },
43
- args: {
44
- selects: '',
45
- selected: [],
46
- },
47
- };
48
- class VirtualTable extends SpectrumElement {
49
- constructor() {
50
- super();
51
- this.items = makeItems(50);
52
- this.compareItems = (sortKey, sortDirection) => (a, b) => {
53
- const doSortKey = sortKey;
54
- if (!isNaN(Number(a[doSortKey]))) {
55
- const first = Number(a[doSortKey]);
56
- const second = Number(b[doSortKey]);
57
- return sortDirection === 'asc'
58
- ? first - second
59
- : second - first;
60
- }
61
- else {
62
- const first = String(a[doSortKey]);
63
- const second = String(b[doSortKey]);
64
- return sortDirection === 'asc'
65
- ? first.localeCompare(second)
66
- : second.localeCompare(first);
67
- }
68
- };
69
- this.items.sort(this.compareItems('name', 'desc'));
70
- }
71
- render() {
72
- return html `
1
+ var u=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var p=(l,t,e,s)=>{for(var a=s>1?void 0:s?h(t,e):t,n=l.length-1,i;n>=0;n--)(i=l[n])&&(a=(s?i(t,e,a):i(a))||a);return s&&a&&u(t,e,a),a};import{html as r,SpectrumElement as C}from"@spectrum-web-components/base";import{property as g}from"@spectrum-web-components/base/src/decorators.js";import"../sp-table.js";import"../sp-table-checkbox-cell.js";import"../sp-table-head.js";import"../sp-table-head-cell.js";import"../sp-table-body.js";import"../sp-table-row.js";import"../sp-table-cell.js";import{makeItems as m,renderItem as c}from"./index.js";export default{title:"Table/Virtualized",component:"sp-table",argTypes:{onChange:{action:"change"},selected:{name:"selected",description:"The array of item values selected by the Table.",type:{name:"",required:!1},control:"text"},selects:{name:"selects",description:'If the Table accepts a "single" or "multiple" selection.',control:{type:"inline-radio",options:["","single","multiple"]}}},args:{selects:"",selected:[]}};class b extends C{constructor(){super();this.items=m(50);this.compareItems=(t,e)=>(s,a)=>{const n=t;if(isNaN(Number(s[n]))){const i=String(s[n]),o=String(a[n]);return e==="asc"?i.localeCompare(o):o.localeCompare(i)}else{const i=Number(s[n]),o=Number(a[n]);return e==="asc"?i-o:o-i}};this.items.sort(this.compareItems("name","desc"))}render(){return r`
73
2
  <sp-table
74
3
  aria-rowcount="50"
75
4
  .items=${this.items}
76
- .renderItem=${renderItem}
5
+ .renderItem=${c}
77
6
  size="m"
78
7
  scroller="true"
79
8
  style="height: 200px"
80
- @sorted=${(event) => {
81
- const { sortKey, sortDirection } = event.detail; // leveraged CustomEvent().detail, works across shadow boundaries
82
- const items = [...this.items];
83
- // depending on the column, sort asc or desc depending on the arrow direction
84
- items.sort(this.compareItems(sortKey, sortDirection));
85
- this.items = items;
86
- }}
9
+ @sorted=${t=>{const{sortKey:e,sortDirection:s}=t.detail,a=[...this.items];a.sort(this.compareItems(e,s)),this.items=a}}
87
10
  >
88
11
  <sp-table-head>
89
12
  <sp-table-head-cell
@@ -99,47 +22,20 @@ class VirtualTable extends SpectrumElement {
99
22
  <sp-table-head-cell>Column Title</sp-table-head-cell>
100
23
  </sp-table-head>
101
24
  </sp-table>
102
- `;
103
- }
104
- }
105
- __decorate([
106
- property({ type: Array })
107
- ], VirtualTable.prototype, "items", void 0);
108
- customElements.define('virtual-table', VirtualTable);
109
- const virtualItems = makeItems(50);
110
- export const virtualized = () => {
111
- return html `
25
+ `}}p([g({type:Array})],b.prototype,"items",2),customElements.define("virtual-table",b);const d=m(50);export const virtualized=()=>r`
112
26
  <virtual-table></virtual-table>
113
- `;
114
- };
115
- export const virtualizedSingle = (args) => {
116
- const onChange = args.onChange ||
117
- (() => {
118
- return;
119
- });
120
- return html `
27
+ `,virtualizedSingle=l=>{const t=l.onChange||(()=>{});return r`
121
28
  <sp-table
122
29
  size="m"
123
30
  scroller="true"
124
31
  style="height: 200px"
125
- selects=${args.selects}
126
- .selected=${args.selected}
127
- @change=${({ target }) => {
128
- const next = target.nextElementSibling;
129
- next.textContent = `Selected: ${JSON.stringify(target.selected)}`;
130
- }}
131
- .items=${virtualItems}
132
- .renderItem=${renderItem}
133
- @visibilityChanged=${(event) => onChange({
134
- first: event.first,
135
- last: event.last,
136
- type: 'visibility',
137
- })}
138
- @rangeChanged=${(event) => onChange({
139
- first: event.first,
140
- last: event.last,
141
- type: 'range',
142
- })}
32
+ selects=${l.selects}
33
+ .selected=${l.selected}
34
+ @change=${({target:e})=>{const s=e.nextElementSibling;s.textContent=`Selected: ${JSON.stringify(e.selected)}`}}
35
+ .items=${d}
36
+ .renderItem=${c}
37
+ @visibilityChanged=${e=>t({first:e.first,last:e.last,type:"visibility"})}
38
+ @rangeChanged=${e=>t({first:e.first,last:e.last,type:"range"})}
143
39
  >
144
40
  <sp-table-head>
145
41
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -148,29 +44,17 @@ export const virtualizedSingle = (args) => {
148
44
  </sp-table-head>
149
45
  </sp-table>
150
46
  <div>Selected: ["49"]</div>
151
- `;
152
- };
153
- virtualizedSingle.args = {
154
- selects: 'single',
155
- selected: ['49'],
156
- };
157
- export const virtualizedMultiple = (args) => {
158
- return html `
47
+ `};virtualizedSingle.args={selects:"single",selected:["49"]};export const virtualizedMultiple=l=>r`
159
48
  <sp-table
160
49
  size="m"
161
50
  scroller="true"
162
51
  style="height: 200px"
163
- selects=${args.selects}
164
- .selected=${args.selected}
165
- @change=${({ target }) => {
166
- const next = target.nextElementSibling;
167
- next.textContent = `Selected: ${JSON.stringify(target.selected, null, ' ')}`;
168
- const nextNext = next.nextElementSibling;
169
- nextNext.textContent = `Selected Count: ${target.selected.length}`;
170
- }}
52
+ selects=${l.selects}
53
+ .selected=${l.selected}
54
+ @change=${({target:t})=>{const e=t.nextElementSibling;e.textContent=`Selected: ${JSON.stringify(t.selected,null," ")}`;const s=e.nextElementSibling;s.textContent=`Selected Count: ${t.selected.length}`}}
171
55
  scroller?="false"
172
- .items=${virtualItems}
173
- .renderItem=${renderItem}
56
+ .items=${d}
57
+ .renderItem=${c}
174
58
  >
175
59
  <sp-table-head>
176
60
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -180,24 +64,17 @@ export const virtualizedMultiple = (args) => {
180
64
  </sp-table>
181
65
  <div>Selected: ["0", "48"]</div>
182
66
  <div>Selected Count: 2</div>
183
- `;
184
- };
185
- virtualizedMultiple.args = {
186
- selects: 'multiple',
187
- selected: ['0', '48'],
188
- };
189
- export const virtualizedCustomValue = (args) => {
190
- return html `
67
+ `;virtualizedMultiple.args={selects:"multiple",selected:["0","48"]};export const virtualizedCustomValue=l=>r`
191
68
  <sp-table
192
69
  size="m"
193
70
  scroller="true"
194
71
  style="height: 200px"
195
- selects=${args.selects}
196
- .selected=${args.selected}
197
- @change=${args.onChange}
198
- .items=${virtualItems}
199
- .itemValue=${(item) => 'applied-' + item.date}
200
- .renderItem=${renderItem}
72
+ selects=${l.selects}
73
+ .selected=${l.selected}
74
+ @change=${l.onChange}
75
+ .items=${d}
76
+ .itemValue=${t=>"applied-"+t.date}
77
+ .renderItem=${c}
201
78
  >
202
79
  <sp-table-head>
203
80
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -208,36 +85,17 @@ export const virtualizedCustomValue = (args) => {
208
85
  </sp-table>
209
86
  <div>Selected: ["0", "48", "applied-47"]</div>
210
87
  <div>Selected Count: 2</div>
211
- `;
212
- };
213
- virtualizedCustomValue.args = {
214
- selected: ['0', '48', 'applied-47'],
215
- selects: 'multiple',
216
- onChange: ({ target }) => {
217
- const next = target.nextElementSibling;
218
- next.textContent = `Selected: ${JSON.stringify(target.selected, null, ' ')}`;
219
- const nextNext = next.nextElementSibling;
220
- nextNext.textContent = `Selected Count: ${target.selected.length}`;
221
- },
222
- };
223
- export const virtualizedCustomRow = (args) => {
224
- virtualItems.splice(3, 1, { name: 'Scoobert', date: 2, _$rowType$: 1 });
225
- return html `
88
+ `;virtualizedCustomValue.args={selected:["0","48","applied-47"],selects:"multiple",onChange:({target:l})=>{const t=l.nextElementSibling;t.textContent=`Selected: ${JSON.stringify(l.selected,null," ")}`;const e=t.nextElementSibling;e.textContent=`Selected Count: ${l.selected.length}`}};export const virtualizedCustomRow=l=>(d.splice(3,1,{name:"Scoobert",date:2,_$rowType$:1}),r`
226
89
  <sp-table
227
90
  size="m"
228
91
  scroller="true"
229
92
  style="height: 200px"
230
- selects=${args.selects}
231
- .selected=${args.selected}
232
- @change=${({ target }) => {
233
- const next = target.nextElementSibling;
234
- next.textContent = `Selected: ${JSON.stringify(target.selected, null, ' ')}`;
235
- const nextNext = next.nextElementSibling;
236
- nextNext.textContent = `Selected Count: ${target.selected.length}`;
237
- }}
93
+ selects=${l.selects}
94
+ .selected=${l.selected}
95
+ @change=${({target:t})=>{const e=t.nextElementSibling;e.textContent=`Selected: ${JSON.stringify(t.selected,null," ")}`;const s=e.nextElementSibling;s.textContent=`Selected Count: ${t.selected.length}`}}
238
96
  scroller?="false"
239
- .items=${virtualItems}
240
- .renderItem=${renderItem}
97
+ .items=${d}
98
+ .renderItem=${c}
241
99
  >
242
100
  <sp-table-head>
243
101
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -247,15 +105,8 @@ export const virtualizedCustomRow = (args) => {
247
105
  </sp-table>
248
106
  <div>Selected: ["0", "48"]</div>
249
107
  <div>Selected Count: 2</div>
250
- `;
251
- };
252
- virtualizedCustomRow.args = {
253
- selects: 'multiple',
254
- selected: ['0', '48'],
255
- };
256
- export const virtualizedNoScroller = () => {
257
- return html `
258
- <sp-table size="m" .items=${virtualItems} .renderItem=${renderItem}>
108
+ `);virtualizedCustomRow.args={selects:"multiple",selected:["0","48"]};export const virtualizedNoScroller=()=>r`
109
+ <sp-table size="m" .items=${d} .renderItem=${c}>
259
110
  <sp-table-head>
260
111
  <sp-table-head-cell>Column Title</sp-table-head-cell>
261
112
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -263,5 +114,4 @@ export const virtualizedNoScroller = () => {
263
114
  </sp-table-head>
264
115
  </sp-table>
265
116
  `;
266
- };
267
- //# sourceMappingURL=table-virtualized.stories.js.map
117
+ //# sourceMappingURL=table-virtualized.stories.js.map