@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.
- package/elements.dev.js +8 -0
- package/elements.dev.js.map +7 -0
- package/elements.js +2 -19
- package/elements.js.map +7 -1
- package/package.json +6 -6
- package/sp-table-body.dev.js +3 -0
- package/sp-table-body.dev.js.map +7 -0
- package/sp-table-body.js +2 -14
- package/sp-table-body.js.map +7 -1
- package/sp-table-cell.dev.js +3 -0
- package/sp-table-cell.dev.js.map +7 -0
- package/sp-table-cell.js +2 -14
- package/sp-table-cell.js.map +7 -1
- package/sp-table-checkbox-cell.dev.js +3 -0
- package/sp-table-checkbox-cell.dev.js.map +7 -0
- package/sp-table-checkbox-cell.js +2 -14
- package/sp-table-checkbox-cell.js.map +7 -1
- package/sp-table-head-cell.dev.js +3 -0
- package/sp-table-head-cell.dev.js.map +7 -0
- package/sp-table-head-cell.js +2 -14
- package/sp-table-head-cell.js.map +7 -1
- package/sp-table-head.dev.js +3 -0
- package/sp-table-head.dev.js.map +7 -0
- package/sp-table-head.js +2 -14
- package/sp-table-head.js.map +7 -1
- package/sp-table-row.dev.js +3 -0
- package/sp-table-row.dev.js.map +7 -0
- package/sp-table-row.js +2 -14
- package/sp-table-row.js.map +7 -1
- package/sp-table.dev.js +3 -0
- package/sp-table.dev.js.map +7 -0
- package/sp-table.js +2 -14
- package/sp-table.js.map +7 -1
- package/src/Table.dev.js +364 -0
- package/src/Table.dev.js.map +7 -0
- package/src/Table.js +13 -383
- package/src/Table.js.map +7 -1
- package/src/TableBody.dev.js +35 -0
- package/src/TableBody.dev.js.map +7 -0
- package/src/TableBody.js +3 -35
- package/src/TableBody.js.map +7 -1
- package/src/TableCell.dev.js +35 -0
- package/src/TableCell.dev.js.map +7 -0
- package/src/TableCell.js +3 -35
- package/src/TableCell.js.map +7 -1
- package/src/TableCheckboxCell.dev.js +70 -0
- package/src/TableCheckboxCell.dev.js.map +7 -0
- package/src/TableCheckboxCell.js +4 -62
- package/src/TableCheckboxCell.js.map +7 -1
- package/src/TableHead.dev.js +54 -0
- package/src/TableHead.dev.js.map +7 -0
- package/src/TableHead.js +3 -52
- package/src/TableHead.js.map +7 -1
- package/src/TableHeadCell.dev.js +90 -0
- package/src/TableHeadCell.dev.js.map +7 -0
- package/src/TableHeadCell.js +5 -92
- package/src/TableHeadCell.js.map +7 -1
- package/src/TableRow.dev.js +99 -0
- package/src/TableRow.dev.js.map +7 -0
- package/src/TableRow.js +3 -96
- package/src/TableRow.js.map +7 -1
- package/src/index.dev.js +2 -0
- package/src/index.dev.js.map +7 -0
- package/src/index.js +2 -13
- package/src/index.js.map +7 -1
- package/src/spectrum-table-body.css.dev.js +16 -0
- package/src/spectrum-table-body.css.dev.js.map +7 -0
- package/src/spectrum-table-body.css.js +3 -16
- package/src/spectrum-table-body.css.js.map +7 -1
- package/src/spectrum-table-cell.css.dev.js +26 -0
- package/src/spectrum-table-cell.css.dev.js.map +7 -0
- package/src/spectrum-table-cell.css.js +3 -16
- package/src/spectrum-table-cell.css.js.map +7 -1
- package/src/spectrum-table-checkbox-cell.css.dev.js +12 -0
- package/src/spectrum-table-checkbox-cell.css.dev.js.map +7 -0
- package/src/spectrum-table-checkbox-cell.css.js +3 -16
- package/src/spectrum-table-checkbox-cell.css.js.map +7 -1
- package/src/spectrum-table-head-cell.css.dev.js +60 -0
- package/src/spectrum-table-head-cell.css.dev.js.map +7 -0
- package/src/spectrum-table-head-cell.css.js +3 -16
- package/src/spectrum-table-head-cell.css.js.map +7 -1
- package/src/spectrum-table-head.css.dev.js +6 -0
- package/src/spectrum-table-head.css.dev.js.map +7 -0
- package/src/spectrum-table-head.css.js +3 -16
- package/src/spectrum-table-head.css.js.map +7 -1
- package/src/spectrum-table-row.css.dev.js +32 -0
- package/src/spectrum-table-row.css.dev.js.map +7 -0
- package/src/spectrum-table-row.css.js +3 -16
- package/src/spectrum-table-row.css.js.map +7 -1
- package/src/spectrum-table.css.dev.js +512 -0
- package/src/spectrum-table.css.dev.js.map +7 -0
- package/src/spectrum-table.css.js +3 -16
- package/src/spectrum-table.css.js.map +7 -1
- package/src/table-body.css.dev.js +16 -0
- package/src/table-body.css.dev.js.map +7 -0
- package/src/table-body.css.js +3 -16
- package/src/table-body.css.js.map +7 -1
- package/src/table-cell.css.dev.js +26 -0
- package/src/table-cell.css.dev.js.map +7 -0
- package/src/table-cell.css.js +3 -16
- package/src/table-cell.css.js.map +7 -1
- package/src/table-checkbox-cell.css.dev.js +12 -0
- package/src/table-checkbox-cell.css.dev.js.map +7 -0
- package/src/table-checkbox-cell.css.js +3 -16
- package/src/table-checkbox-cell.css.js.map +7 -1
- package/src/table-head-cell.css.dev.js +60 -0
- package/src/table-head-cell.css.dev.js.map +7 -0
- package/src/table-head-cell.css.js +3 -16
- package/src/table-head-cell.css.js.map +7 -1
- package/src/table-head.css.dev.js +6 -0
- package/src/table-head.css.dev.js.map +7 -0
- package/src/table-head.css.js +3 -16
- package/src/table-head.css.js.map +7 -1
- package/src/table-row.css.dev.js +32 -0
- package/src/table-row.css.dev.js.map +7 -0
- package/src/table-row.css.js +3 -16
- package/src/table-row.css.js.map +7 -1
- package/src/table.css.dev.js +512 -0
- package/src/table.css.dev.js.map +7 -0
- package/src/table.css.js +3 -16
- package/src/table.css.js.map +7 -1
- package/stories/index.js +6 -35
- package/stories/index.js.map +7 -1
- package/stories/table-elements.stories.js +11 -121
- package/stories/table-elements.stories.js.map +7 -1
- package/stories/table-virtualized.stories.js +34 -184
- package/stories/table-virtualized.stories.js.map +7 -1
- package/test/benchmark/basic-test.js +3 -17
- package/test/benchmark/basic-test.js.map +7 -1
- package/test/table-elements.test-vrt.js +2 -15
- package/test/table-elements.test-vrt.js.map +7 -1
- package/test/table-selects.test.js +4 -177
- package/test/table-selects.test.js.map +7 -1
- package/test/table-virtualized.test-vrt.js +2 -15
- package/test/table-virtualized.test-vrt.js.map +7 -1
- package/test/table.test.js +9 -109
- package/test/table.test.js.map +7 -1
- package/test/virtualized-table-selects.test.js +26 -310
- package/test/virtualized-table-selects.test.js.map +7 -1
- package/test/virtualized-table.test.js +24 -207
- package/test/virtualized-table.test.js.map +7 -1
|
@@ -1,53 +1,4 @@
|
|
|
1
|
-
|
|
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=${[
|
|
131
|
-
@change=${({
|
|
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=${[
|
|
216
|
-
@change=${({
|
|
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 {
|
|
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=${
|
|
5
|
+
.renderItem=${c}
|
|
77
6
|
size="m"
|
|
78
7
|
scroller="true"
|
|
79
8
|
style="height: 200px"
|
|
80
|
-
@sorted=${(
|
|
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=${
|
|
126
|
-
.selected=${
|
|
127
|
-
@change=${({
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
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=${
|
|
164
|
-
.selected=${
|
|
165
|
-
@change=${({
|
|
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=${
|
|
173
|
-
.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=${
|
|
196
|
-
.selected=${
|
|
197
|
-
@change=${
|
|
198
|
-
.items=${
|
|
199
|
-
.itemValue=${
|
|
200
|
-
.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=${
|
|
231
|
-
.selected=${
|
|
232
|
-
@change=${({
|
|
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=${
|
|
240
|
-
.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
|