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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/README.md +5 -5
  2. package/custom-elements.json +20 -0
  3. package/elements.dev.js +1 -0
  4. package/elements.dev.js.map +1 -1
  5. package/elements.js +1 -1
  6. package/elements.js.map +1 -1
  7. package/package.json +79 -17
  8. package/sp-table-body.dev.js +1 -0
  9. package/sp-table-body.dev.js.map +1 -1
  10. package/sp-table-body.js +1 -1
  11. package/sp-table-body.js.map +2 -2
  12. package/sp-table-cell.dev.js +1 -0
  13. package/sp-table-cell.dev.js.map +1 -1
  14. package/sp-table-cell.js +1 -1
  15. package/sp-table-cell.js.map +2 -2
  16. package/sp-table-checkbox-cell.dev.js +1 -0
  17. package/sp-table-checkbox-cell.dev.js.map +1 -1
  18. package/sp-table-checkbox-cell.js +1 -1
  19. package/sp-table-checkbox-cell.js.map +2 -2
  20. package/sp-table-head-cell.dev.js +1 -0
  21. package/sp-table-head-cell.dev.js.map +1 -1
  22. package/sp-table-head-cell.js +1 -1
  23. package/sp-table-head-cell.js.map +2 -2
  24. package/sp-table-head.dev.js +1 -0
  25. package/sp-table-head.dev.js.map +1 -1
  26. package/sp-table-head.js +1 -1
  27. package/sp-table-head.js.map +2 -2
  28. package/sp-table-row.dev.js +1 -0
  29. package/sp-table-row.dev.js.map +1 -1
  30. package/sp-table-row.js +1 -1
  31. package/sp-table-row.js.map +2 -2
  32. package/sp-table.dev.js +1 -0
  33. package/sp-table.dev.js.map +1 -1
  34. package/sp-table.js +1 -1
  35. package/sp-table.js.map +2 -2
  36. package/src/Table.d.ts +1 -0
  37. package/src/Table.dev.js +74 -46
  38. package/src/Table.dev.js.map +3 -3
  39. package/src/Table.js +8 -8
  40. package/src/Table.js.map +3 -3
  41. package/src/TableBody.d.ts +2 -0
  42. package/src/TableBody.dev.js +21 -1
  43. package/src/TableBody.dev.js.map +2 -2
  44. package/src/TableBody.js +2 -2
  45. package/src/TableBody.js.map +3 -3
  46. package/src/TableCell.dev.js +1 -0
  47. package/src/TableCell.dev.js.map +1 -1
  48. package/src/TableCell.js +1 -1
  49. package/src/TableCell.js.map +2 -2
  50. package/src/TableCheckboxCell.dev.js +1 -0
  51. package/src/TableCheckboxCell.dev.js.map +1 -1
  52. package/src/TableCheckboxCell.js +2 -2
  53. package/src/TableCheckboxCell.js.map +2 -2
  54. package/src/TableHead.dev.js +1 -0
  55. package/src/TableHead.dev.js.map +1 -1
  56. package/src/TableHead.js +1 -1
  57. package/src/TableHead.js.map +2 -2
  58. package/src/TableHeadCell.dev.js +11 -8
  59. package/src/TableHeadCell.dev.js.map +2 -2
  60. package/src/TableHeadCell.js +2 -2
  61. package/src/TableHeadCell.js.map +3 -3
  62. package/src/TableRow.dev.js +8 -3
  63. package/src/TableRow.dev.js.map +2 -2
  64. package/src/TableRow.js +2 -2
  65. package/src/TableRow.js.map +3 -3
  66. package/src/index.d.ts +6 -0
  67. package/src/index.dev.js +7 -0
  68. package/src/index.dev.js.map +2 -2
  69. package/src/index.js +1 -1
  70. package/src/index.js.map +2 -2
  71. package/src/spectrum-table-body.css.dev.js +1 -0
  72. package/src/spectrum-table-body.css.dev.js.map +1 -1
  73. package/src/spectrum-table-body.css.js +1 -1
  74. package/src/spectrum-table-body.css.js.map +2 -2
  75. package/src/spectrum-table-cell.css.dev.js +1 -0
  76. package/src/spectrum-table-cell.css.dev.js.map +1 -1
  77. package/src/spectrum-table-cell.css.js +1 -1
  78. package/src/spectrum-table-cell.css.js.map +2 -2
  79. package/src/spectrum-table-checkbox-cell.css.dev.js +1 -0
  80. package/src/spectrum-table-checkbox-cell.css.dev.js.map +1 -1
  81. package/src/spectrum-table-checkbox-cell.css.js +1 -1
  82. package/src/spectrum-table-checkbox-cell.css.js.map +2 -2
  83. package/src/spectrum-table-head-cell.css.dev.js +1 -0
  84. package/src/spectrum-table-head-cell.css.dev.js.map +1 -1
  85. package/src/spectrum-table-head-cell.css.js +1 -1
  86. package/src/spectrum-table-head-cell.css.js.map +2 -2
  87. package/src/spectrum-table-head.css.dev.js +1 -0
  88. package/src/spectrum-table-head.css.dev.js.map +1 -1
  89. package/src/spectrum-table-head.css.js +1 -1
  90. package/src/spectrum-table-head.css.js.map +2 -2
  91. package/src/spectrum-table-row.css.dev.js +1 -0
  92. package/src/spectrum-table-row.css.dev.js.map +1 -1
  93. package/src/spectrum-table-row.css.js +1 -1
  94. package/src/spectrum-table-row.css.js.map +2 -2
  95. package/src/spectrum-table.css.dev.js +1 -0
  96. package/src/spectrum-table.css.dev.js.map +1 -1
  97. package/src/spectrum-table.css.js +1 -1
  98. package/src/spectrum-table.css.js.map +2 -2
  99. package/src/table-body.css.dev.js +2 -1
  100. package/src/table-body.css.dev.js.map +2 -2
  101. package/src/table-body.css.js +2 -2
  102. package/src/table-body.css.js.map +3 -3
  103. package/src/table-cell.css.dev.js +1 -0
  104. package/src/table-cell.css.dev.js.map +1 -1
  105. package/src/table-cell.css.js +1 -1
  106. package/src/table-cell.css.js.map +2 -2
  107. package/src/table-checkbox-cell.css.dev.js +1 -0
  108. package/src/table-checkbox-cell.css.dev.js.map +1 -1
  109. package/src/table-checkbox-cell.css.js +1 -1
  110. package/src/table-checkbox-cell.css.js.map +2 -2
  111. package/src/table-head-cell.css.dev.js +1 -0
  112. package/src/table-head-cell.css.dev.js.map +1 -1
  113. package/src/table-head-cell.css.js +1 -1
  114. package/src/table-head-cell.css.js.map +2 -2
  115. package/src/table-head.css.dev.js +1 -0
  116. package/src/table-head.css.dev.js.map +1 -1
  117. package/src/table-head.css.js +1 -1
  118. package/src/table-head.css.js.map +2 -2
  119. package/src/table-row.css.dev.js +1 -0
  120. package/src/table-row.css.dev.js.map +1 -1
  121. package/src/table-row.css.js +1 -1
  122. package/src/table-row.css.js.map +2 -2
  123. package/src/table.css.dev.js +2 -1
  124. package/src/table.css.dev.js.map +2 -2
  125. package/src/table.css.js +2 -2
  126. package/src/table.css.js.map +3 -3
  127. package/stories/index.js +24 -5
  128. package/stories/index.js.map +2 -2
  129. package/stories/table-elements.stories.js +75 -9
  130. package/stories/table-elements.stories.js.map +2 -2
  131. package/stories/table-virtualized.stories.js +198 -34
  132. package/stories/table-virtualized.stories.js.map +2 -2
  133. package/test/benchmark/basic-test.js +6 -2
  134. package/test/benchmark/basic-test.js.map +1 -1
  135. package/test/table-elements.test-vrt.js +4 -1
  136. package/test/table-elements.test-vrt.js.map +1 -1
  137. package/test/table-selects.test.js +199 -3
  138. package/test/table-selects.test.js.map +2 -2
  139. package/test/table-virtualized.test-vrt.js +4 -1
  140. package/test/table-virtualized.test-vrt.js.map +1 -1
  141. package/test/table.test.js +124 -8
  142. package/test/table.test.js.map +2 -2
  143. package/test/virtualized-table-selects.test.js +395 -25
  144. package/test/virtualized-table-selects.test.js.map +2 -2
  145. package/test/virtualized-table.test.js +237 -23
  146. package/test/virtualized-table.test.js.map +2 -2
@@ -1,12 +1,91 @@
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`
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __decorateClass = (decorators, target, key, kind) => {
5
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
6
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
7
+ if (decorator = decorators[i])
8
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9
+ if (kind && result)
10
+ __defProp(target, key, result);
11
+ return result;
12
+ };
13
+ import {
14
+ html,
15
+ SpectrumElement
16
+ } from "@spectrum-web-components/base";
17
+ import { property } from "@spectrum-web-components/base/src/decorators.js";
18
+ import "@spectrum-web-components/table/sp-table.js";
19
+ import "@spectrum-web-components/table/sp-table-checkbox-cell.js";
20
+ import "@spectrum-web-components/table/sp-table-head.js";
21
+ import "@spectrum-web-components/table/sp-table-head-cell.js";
22
+ import "@spectrum-web-components/table/sp-table-body.js";
23
+ import "@spectrum-web-components/table/sp-table-row.js";
24
+ import "@spectrum-web-components/table/sp-table-cell.js";
25
+ import { makeItems, renderItem } from "./index.js";
26
+ export default {
27
+ title: "Table/Virtualized",
28
+ component: "sp-table",
29
+ argTypes: {
30
+ onChange: { action: "change" },
31
+ selected: {
32
+ name: "selected",
33
+ description: "The array of item values selected by the Table.",
34
+ type: { name: "", required: false },
35
+ control: "text"
36
+ },
37
+ selects: {
38
+ name: "selects",
39
+ description: 'If the Table accepts a "single" or "multiple" selection.',
40
+ control: {
41
+ type: "inline-radio",
42
+ options: ["", "single", "multiple"]
43
+ }
44
+ }
45
+ },
46
+ args: {
47
+ selects: "",
48
+ selected: []
49
+ }
50
+ };
51
+ class VirtualTable extends SpectrumElement {
52
+ constructor() {
53
+ super();
54
+ this.items = makeItems(50);
55
+ this.compareItems = (sortKey, sortDirection) => (a, b) => {
56
+ const doSortKey = sortKey;
57
+ if (!isNaN(Number(a[doSortKey]))) {
58
+ const first = Number(a[doSortKey]);
59
+ const second = Number(b[doSortKey]);
60
+ return sortDirection === "asc" ? first - second : second - first;
61
+ } else {
62
+ const first = String(a[doSortKey]);
63
+ const second = String(b[doSortKey]);
64
+ return sortDirection === "asc" ? first.localeCompare(second) : second.localeCompare(first);
65
+ }
66
+ };
67
+ this.items.sort(this.compareItems("name", "desc"));
68
+ }
69
+ render() {
70
+ return html`
2
71
  <sp-table
3
72
  aria-rowcount="50"
4
73
  .items=${this.items}
5
- .renderItem=${c}
74
+ .renderItem=${renderItem}
6
75
  size="m"
7
76
  scroller="true"
8
77
  style="height: 200px"
9
- @sorted=${t=>{const{sortKey:e,sortDirection:s}=t.detail,a=[...this.items];a.sort(this.compareItems(e,s)),this.items=a}}
78
+ @sorted=${(event) => {
79
+ const { sortKey, sortDirection } = event.detail;
80
+ const items = [...this.items];
81
+ items.sort(
82
+ this.compareItems(
83
+ sortKey,
84
+ sortDirection
85
+ )
86
+ );
87
+ this.items = items;
88
+ }}
10
89
  >
11
90
  <sp-table-head>
12
91
  <sp-table-head-cell
@@ -22,20 +101,48 @@ var u=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var p=(l,t,e,s
22
101
  <sp-table-head-cell>Column Title</sp-table-head-cell>
23
102
  </sp-table-head>
24
103
  </sp-table>
25
- `}}p([g({type:Array})],b.prototype,"items",2),customElements.define("virtual-table",b);const d=m(50);export const virtualized=()=>r`
104
+ `;
105
+ }
106
+ }
107
+ __decorateClass([
108
+ property({ type: Array })
109
+ ], VirtualTable.prototype, "items", 2);
110
+ customElements.define("virtual-table", VirtualTable);
111
+ const virtualItems = makeItems(50);
112
+ export const virtualized = () => {
113
+ return html`
26
114
  <virtual-table></virtual-table>
27
- `,virtualizedSingle=l=>{const t=l.onChange||(()=>{});return r`
115
+ `;
116
+ };
117
+ export const virtualizedSingle = (args) => {
118
+ const onChange = args.onChange || (() => {
119
+ return;
120
+ });
121
+ return html`
28
122
  <sp-table
29
123
  size="m"
30
124
  scroller="true"
31
125
  style="height: 200px"
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"})}
126
+ selects=${args.selects}
127
+ .selected=${args.selected}
128
+ @change=${({ target }) => {
129
+ const next = target.nextElementSibling;
130
+ next.textContent = `Selected: ${JSON.stringify(
131
+ target.selected
132
+ )}`;
133
+ }}
134
+ .items=${virtualItems}
135
+ .renderItem=${renderItem}
136
+ @visibilityChanged=${(event) => onChange({
137
+ first: event.first,
138
+ last: event.last,
139
+ type: "visibility"
140
+ })}
141
+ @rangeChanged=${(event) => onChange({
142
+ first: event.first,
143
+ last: event.last,
144
+ type: "range"
145
+ })}
39
146
  >
40
147
  <sp-table-head>
41
148
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -44,17 +151,32 @@ var u=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var p=(l,t,e,s
44
151
  </sp-table-head>
45
152
  </sp-table>
46
153
  <div>Selected: ["49"]</div>
47
- `};virtualizedSingle.args={selects:"single",selected:["49"]};export const virtualizedMultiple=l=>r`
154
+ `;
155
+ };
156
+ virtualizedSingle.args = {
157
+ selects: "single",
158
+ selected: ["49"]
159
+ };
160
+ export const virtualizedMultiple = (args) => {
161
+ return html`
48
162
  <sp-table
49
163
  size="m"
50
164
  scroller="true"
51
165
  style="height: 200px"
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}`}}
55
- scroller?="false"
56
- .items=${d}
57
- .renderItem=${c}
166
+ selects=${args.selects}
167
+ .selected=${args.selected}
168
+ @change=${({ target }) => {
169
+ const next = target.nextElementSibling;
170
+ next.textContent = `Selected: ${JSON.stringify(
171
+ target.selected,
172
+ null,
173
+ " "
174
+ )}`;
175
+ const nextNext = next.nextElementSibling;
176
+ nextNext.textContent = `Selected Count: ${target.selected.length}`;
177
+ }}
178
+ .items=${virtualItems}
179
+ .renderItem=${renderItem}
58
180
  >
59
181
  <sp-table-head>
60
182
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -64,17 +186,24 @@ var u=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var p=(l,t,e,s
64
186
  </sp-table>
65
187
  <div>Selected: ["0", "48"]</div>
66
188
  <div>Selected Count: 2</div>
67
- `;virtualizedMultiple.args={selects:"multiple",selected:["0","48"]};export const virtualizedCustomValue=l=>r`
189
+ `;
190
+ };
191
+ virtualizedMultiple.args = {
192
+ selects: "multiple",
193
+ selected: ["0", "48"]
194
+ };
195
+ export const virtualizedCustomValue = (args) => {
196
+ return html`
68
197
  <sp-table
69
198
  size="m"
70
199
  scroller="true"
71
200
  style="height: 200px"
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
+ selects=${args.selects}
202
+ .selected=${args.selected}
203
+ @change=${args.onChange}
204
+ .items=${virtualItems}
205
+ .itemValue=${(item) => "applied-" + item.date}
206
+ .renderItem=${renderItem}
78
207
  >
79
208
  <sp-table-head>
80
209
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -85,17 +214,44 @@ var u=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var p=(l,t,e,s
85
214
  </sp-table>
86
215
  <div>Selected: ["0", "48", "applied-47"]</div>
87
216
  <div>Selected Count: 2</div>
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`
217
+ `;
218
+ };
219
+ virtualizedCustomValue.args = {
220
+ selected: ["0", "48", "applied-47"],
221
+ selects: "multiple",
222
+ onChange: ({ target }) => {
223
+ const next = target.nextElementSibling;
224
+ next.textContent = `Selected: ${JSON.stringify(
225
+ target.selected,
226
+ null,
227
+ " "
228
+ )}`;
229
+ const nextNext = next.nextElementSibling;
230
+ nextNext.textContent = `Selected Count: ${target.selected.length}`;
231
+ }
232
+ };
233
+ export const virtualizedCustomRow = (args) => {
234
+ virtualItems.splice(3, 1, { name: "Scoobert", date: 2, _$rowType$: 1 });
235
+ return html`
89
236
  <sp-table
90
237
  size="m"
91
238
  scroller="true"
92
239
  style="height: 200px"
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}`}}
240
+ selects=${args.selects}
241
+ .selected=${args.selected}
242
+ @change=${({ target }) => {
243
+ const next = target.nextElementSibling;
244
+ next.textContent = `Selected: ${JSON.stringify(
245
+ target.selected,
246
+ null,
247
+ " "
248
+ )}`;
249
+ const nextNext = next.nextElementSibling;
250
+ nextNext.textContent = `Selected Count: ${target.selected.length}`;
251
+ }}
96
252
  scroller?="false"
97
- .items=${d}
98
- .renderItem=${c}
253
+ .items=${virtualItems}
254
+ .renderItem=${renderItem}
99
255
  >
100
256
  <sp-table-head>
101
257
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -105,8 +261,15 @@ var u=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var p=(l,t,e,s
105
261
  </sp-table>
106
262
  <div>Selected: ["0", "48"]</div>
107
263
  <div>Selected Count: 2</div>
108
- `);virtualizedCustomRow.args={selects:"multiple",selected:["0","48"]};export const virtualizedNoScroller=()=>r`
109
- <sp-table size="m" .items=${d} .renderItem=${c}>
264
+ `;
265
+ };
266
+ virtualizedCustomRow.args = {
267
+ selects: "multiple",
268
+ selected: ["0", "48"]
269
+ };
270
+ export const virtualizedNoScroller = () => {
271
+ return html`
272
+ <sp-table size="m" .items=${virtualItems} .renderItem=${renderItem}>
110
273
  <sp-table-head>
111
274
  <sp-table-head-cell>Column Title</sp-table-head-cell>
112
275
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -114,4 +277,5 @@ var u=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var p=(l,t,e,s
114
277
  </sp-table-head>
115
278
  </sp-table>
116
279
  `;
280
+ };
117
281
  //# sourceMappingURL=table-virtualized.stories.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["table-virtualized.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 {\n html,\n SpectrumElement,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport { property } from '@spectrum-web-components/base/src/decorators.js';\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 { Item, makeItems, Properties, renderItem } from './index.js';\nimport type { SortedEventDetails } from '../src/TableHeadCell.js';\nimport { RangeChangedEvent, Table } from '../src/Table.js';\n\nexport default {\n title: 'Table/Virtualized',\n component: 'sp-table',\n argTypes: {\n onChange: { action: 'change' },\n selected: {\n name: 'selected',\n description: 'The array of item values selected by the Table.',\n type: { name: '', required: false },\n control: 'text',\n },\n selects: {\n name: 'selects',\n description:\n 'If the Table accepts a \"single\" or \"multiple\" selection.',\n control: {\n type: 'inline-radio',\n options: ['', 'single', 'multiple'],\n },\n },\n },\n args: {\n selects: '',\n selected: [],\n },\n};\n\nclass VirtualTable extends SpectrumElement {\n @property({ type: Array })\n public items: {\n name: string;\n date: number;\n }[] = makeItems(50);\n\n constructor() {\n super();\n this.items.sort(this.compareItems('name', 'desc'));\n }\n\n compareItems =\n (sortKey: 'name' | 'date', sortDirection: 'asc' | 'desc') =>\n (\n a: {\n name: string;\n date: number;\n },\n b: {\n name: string;\n date: number;\n }\n ): number => {\n const doSortKey = sortKey;\n if (!isNaN(Number(a[doSortKey]))) {\n const first = Number(a[doSortKey]);\n const second = Number(b[doSortKey]);\n return sortDirection === 'asc'\n ? first - second\n : second - first;\n } else {\n const first = String(a[doSortKey]);\n const second = String(b[doSortKey]);\n return sortDirection === 'asc'\n ? first.localeCompare(second)\n : second.localeCompare(first);\n }\n };\n\n protected override render(): TemplateResult {\n return html`\n <sp-table\n aria-rowcount=\"50\"\n .items=${this.items}\n .renderItem=${renderItem}\n size=\"m\"\n scroller=\"true\"\n style=\"height: 200px\"\n @sorted=${(event: CustomEvent<SortedEventDetails>): void => {\n const { sortKey, sortDirection } = event.detail; // leveraged CustomEvent().detail, works across shadow boundaries\n const items = [...this.items];\n // depending on the column, sort asc or desc depending on the arrow direction\n items.sort(\n this.compareItems(\n sortKey as 'name' | 'date',\n sortDirection\n )\n );\n this.items = items;\n }}\n >\n <sp-table-head>\n <sp-table-head-cell\n sortable\n sort-key=\"name\"\n sort-direction=\"desc\"\n >\n Column Title\n </sp-table-head-cell>\n <sp-table-head-cell sortable sort-key=\"date\">\n Column Title\n </sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n </sp-table-head>\n </sp-table>\n `;\n }\n}\n\ncustomElements.define('virtual-table', VirtualTable);\n\nconst virtualItems = makeItems(50);\n\nexport const virtualized = (): TemplateResult => {\n return html`\n <virtual-table></virtual-table>\n `;\n};\n\nexport const virtualizedSingle = (args: Properties): TemplateResult => {\n const onChange =\n (args.onChange as (eventData: {\n first: number;\n last: number;\n type: string;\n }) => void) ||\n (() => {\n return;\n });\n\n return html`\n <sp-table\n size=\"m\"\n scroller=\"true\"\n style=\"height: 200px\"\n selects=${args.selects}\n .selected=${args.selected}\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 .items=${virtualItems}\n .renderItem=${renderItem}\n @visibilityChanged=${(event: RangeChangedEvent) =>\n onChange({\n first: event.first,\n last: event.last,\n type: 'visibility',\n })}\n @rangeChanged=${(event: RangeChangedEvent) =>\n onChange({\n first: event.first,\n last: event.last,\n type: 'range',\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>\n <div>Selected: [\"49\"]</div>\n `;\n};\nvirtualizedSingle.args = {\n selects: 'single',\n selected: ['49'],\n};\n\nexport const virtualizedMultiple = (args: Properties): TemplateResult => {\n return html`\n <sp-table\n size=\"m\"\n scroller=\"true\"\n style=\"height: 200px\"\n selects=${args.selects}\n .selected=${args.selected}\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 scroller?=\"false\"\n .items=${virtualItems}\n .renderItem=${renderItem}\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>\n <div>Selected: [\"0\", \"48\"]</div>\n <div>Selected Count: 2</div>\n `;\n};\nvirtualizedMultiple.args = {\n selects: 'multiple',\n selected: ['0', '48'],\n};\n\nexport const virtualizedCustomValue = (args: Properties): TemplateResult => {\n return html`\n <sp-table\n size=\"m\"\n scroller=\"true\"\n style=\"height: 200px\"\n selects=${args.selects}\n .selected=${args.selected}\n @change=${args.onChange}\n .items=${virtualItems}\n .itemValue=${(item: Item) => 'applied-' + item.date}\n .renderItem=${renderItem}\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></sp-table-body>\n </sp-table>\n <div>Selected: [\"0\", \"48\", \"applied-47\"]</div>\n <div>Selected Count: 2</div>\n `;\n};\nvirtualizedCustomValue.args = {\n selected: ['0', '48', 'applied-47'],\n selects: 'multiple',\n onChange: ({ 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\nexport const virtualizedCustomRow = (args: Properties): TemplateResult => {\n virtualItems.splice(3, 1, { name: 'Scoobert', date: 2, _$rowType$: 1 });\n\n return html`\n <sp-table\n size=\"m\"\n scroller=\"true\"\n style=\"height: 200px\"\n selects=${args.selects}\n .selected=${args.selected}\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 scroller?=\"false\"\n .items=${virtualItems}\n .renderItem=${renderItem}\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>\n <div>Selected: [\"0\", \"48\"]</div>\n <div>Selected Count: 2</div>\n `;\n};\nvirtualizedCustomRow.args = {\n selects: 'multiple',\n selected: ['0', '48'],\n};\n\nexport const virtualizedNoScroller = (): TemplateResult => {\n return html`\n <sp-table size=\"m\" .items=${virtualItems} .renderItem=${renderItem}>\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>\n `;\n};\n"],
5
- "mappings": "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",
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 {\n html,\n SpectrumElement,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport { property } from '@spectrum-web-components/base/src/decorators.js';\n\nimport '@spectrum-web-components/table/sp-table.js';\nimport '@spectrum-web-components/table/sp-table-checkbox-cell.js';\nimport '@spectrum-web-components/table/sp-table-head.js';\nimport '@spectrum-web-components/table/sp-table-head-cell.js';\nimport '@spectrum-web-components/table/sp-table-body.js';\nimport '@spectrum-web-components/table/sp-table-row.js';\nimport '@spectrum-web-components/table/sp-table-cell.js';\nimport { Item, makeItems, Properties, renderItem } from './index.js';\nimport type {\n RangeChangedEvent,\n SortedEventDetails,\n Table,\n} from '@spectrum-web-components/table';\n\nexport default {\n title: 'Table/Virtualized',\n component: 'sp-table',\n argTypes: {\n onChange: { action: 'change' },\n selected: {\n name: 'selected',\n description: 'The array of item values selected by the Table.',\n type: { name: '', required: false },\n control: 'text',\n },\n selects: {\n name: 'selects',\n description:\n 'If the Table accepts a \"single\" or \"multiple\" selection.',\n control: {\n type: 'inline-radio',\n options: ['', 'single', 'multiple'],\n },\n },\n },\n args: {\n selects: '',\n selected: [],\n },\n};\n\nclass VirtualTable extends SpectrumElement {\n @property({ type: Array })\n public items: {\n name: string;\n date: number;\n }[] = makeItems(50);\n\n constructor() {\n super();\n this.items.sort(this.compareItems('name', 'desc'));\n }\n\n compareItems =\n (sortKey: 'name' | 'date', sortDirection: 'asc' | 'desc') =>\n (\n a: {\n name: string;\n date: number;\n },\n b: {\n name: string;\n date: number;\n }\n ): number => {\n const doSortKey = sortKey;\n if (!isNaN(Number(a[doSortKey]))) {\n const first = Number(a[doSortKey]);\n const second = Number(b[doSortKey]);\n return sortDirection === 'asc'\n ? first - second\n : second - first;\n } else {\n const first = String(a[doSortKey]);\n const second = String(b[doSortKey]);\n return sortDirection === 'asc'\n ? first.localeCompare(second)\n : second.localeCompare(first);\n }\n };\n\n protected override render(): TemplateResult {\n return html`\n <sp-table\n aria-rowcount=\"50\"\n .items=${this.items}\n .renderItem=${renderItem}\n size=\"m\"\n scroller=\"true\"\n style=\"height: 200px\"\n @sorted=${(event: CustomEvent<SortedEventDetails>): void => {\n const { sortKey, sortDirection } = event.detail; // leveraged CustomEvent().detail, works across shadow boundaries\n const items = [...this.items];\n // depending on the column, sort asc or desc depending on the arrow direction\n items.sort(\n this.compareItems(\n sortKey as 'name' | 'date',\n sortDirection\n )\n );\n this.items = items;\n }}\n >\n <sp-table-head>\n <sp-table-head-cell\n sortable\n sort-key=\"name\"\n sort-direction=\"desc\"\n >\n Column Title\n </sp-table-head-cell>\n <sp-table-head-cell sortable sort-key=\"date\">\n Column Title\n </sp-table-head-cell>\n <sp-table-head-cell>Column Title</sp-table-head-cell>\n </sp-table-head>\n </sp-table>\n `;\n }\n}\n\ncustomElements.define('virtual-table', VirtualTable);\n\nconst virtualItems = makeItems(50);\n\nexport const virtualized = (): TemplateResult => {\n return html`\n <virtual-table></virtual-table>\n `;\n};\n\nexport const virtualizedSingle = (args: Properties): TemplateResult => {\n const onChange =\n (args.onChange as (eventData: {\n first: number;\n last: number;\n type: string;\n }) => void) ||\n (() => {\n return;\n });\n\n return html`\n <sp-table\n size=\"m\"\n scroller=\"true\"\n style=\"height: 200px\"\n selects=${args.selects}\n .selected=${args.selected}\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 .items=${virtualItems}\n .renderItem=${renderItem}\n @visibilityChanged=${(event: RangeChangedEvent) =>\n onChange({\n first: event.first,\n last: event.last,\n type: 'visibility',\n })}\n @rangeChanged=${(event: RangeChangedEvent) =>\n onChange({\n first: event.first,\n last: event.last,\n type: 'range',\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>\n <div>Selected: [\"49\"]</div>\n `;\n};\nvirtualizedSingle.args = {\n selects: 'single',\n selected: ['49'],\n};\n\nexport const virtualizedMultiple = (args: Properties): TemplateResult => {\n return html`\n <sp-table\n size=\"m\"\n scroller=\"true\"\n style=\"height: 200px\"\n selects=${args.selects}\n .selected=${args.selected}\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 .items=${virtualItems}\n .renderItem=${renderItem}\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>\n <div>Selected: [\"0\", \"48\"]</div>\n <div>Selected Count: 2</div>\n `;\n};\nvirtualizedMultiple.args = {\n selects: 'multiple',\n selected: ['0', '48'],\n};\n\nexport const virtualizedCustomValue = (args: Properties): TemplateResult => {\n return html`\n <sp-table\n size=\"m\"\n scroller=\"true\"\n style=\"height: 200px\"\n selects=${args.selects}\n .selected=${args.selected}\n @change=${args.onChange}\n .items=${virtualItems}\n .itemValue=${(item: Item) => 'applied-' + item.date}\n .renderItem=${renderItem}\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></sp-table-body>\n </sp-table>\n <div>Selected: [\"0\", \"48\", \"applied-47\"]</div>\n <div>Selected Count: 2</div>\n `;\n};\nvirtualizedCustomValue.args = {\n selected: ['0', '48', 'applied-47'],\n selects: 'multiple',\n onChange: ({ 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\nexport const virtualizedCustomRow = (args: Properties): TemplateResult => {\n virtualItems.splice(3, 1, { name: 'Scoobert', date: 2, _$rowType$: 1 });\n\n return html`\n <sp-table\n size=\"m\"\n scroller=\"true\"\n style=\"height: 200px\"\n selects=${args.selects}\n .selected=${args.selected}\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 scroller?=\"false\"\n .items=${virtualItems}\n .renderItem=${renderItem}\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>\n <div>Selected: [\"0\", \"48\"]</div>\n <div>Selected Count: 2</div>\n `;\n};\nvirtualizedCustomRow.args = {\n selects: 'multiple',\n selected: ['0', '48'],\n};\n\nexport const virtualizedNoScroller = (): TemplateResult => {\n return html`\n <sp-table size=\"m\" .items=${virtualItems} .renderItem=${renderItem}>\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>\n `;\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,13 @@
1
- import"@spectrum-web-components/table/sp-table.js";import{html as l}from"@spectrum-web-components/base";import{measureFixtureCreation as e}from"../../../../test/benchmark/helpers.js";e(l`
1
+ "use strict";
2
+ import "@spectrum-web-components/table/sp-table.js";
3
+ import { html } from "@spectrum-web-components/base";
4
+ import { measureFixtureCreation } from "../../../../test/benchmark/helpers.js";
5
+ measureFixtureCreation(html`
2
6
  <sp-table
3
7
  size="m"
4
8
  style="height: 200px"
5
9
  selects="multiple"
6
- .selected=${["row1","row2"]}
10
+ .selected=${["row1", "row2"]}
7
11
  >
8
12
  <sp-table-head>
9
13
  <sp-table-head-cell>Column Title</sp-table-head-cell>
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["basic-test.ts"],
4
4
  "sourcesContent": ["/*\nCopyright 2022 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport '@spectrum-web-components/table/sp-table.js';\nimport { html } from '@spectrum-web-components/base';\nimport { measureFixtureCreation } from '../../../../test/benchmark/helpers.js';\n\nmeasureFixtureCreation(html`\n <sp-table\n size=\"m\"\n style=\"height: 200px\"\n selects=\"multiple\"\n .selected=${['row1', 'row2']}\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>\n <sp-table-row value=\"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\">\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\">\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"],
5
- "mappings": "AAWA,mDACA,qDACA,+EAEA,EAAuB;AAAA;AAAA;AAAA;AAAA;AAAA,oBAKH,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;AAAA,CAmClC",
5
+ "mappings": ";AAWA,OAAO;AACP,SAAS,YAAY;AACrB,SAAS,8BAA8B;AAEvC,uBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA,oBAKH,CAAC,QAAQ,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;AAAA,CAmClC;",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,5 @@
1
- import*as s from"../stories/table-elements.stories.js";import{regressVisuals as r}from"../../../test/visual/test.js";r("TableElementsStories",s);
1
+ "use strict";
2
+ import * as stories from "../stories/table-elements.stories.js";
3
+ import { regressVisuals } from "../../../test/visual/test.js";
4
+ regressVisuals("TableElementsStories", stories);
2
5
  //# sourceMappingURL=table-elements.test-vrt.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["table-elements.test-vrt.ts"],
4
4
  "sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport * as stories from '../stories/table-elements.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\n\nregressVisuals('TableElementsStories', stories);\n"],
5
- "mappings": "AAYA,uDACA,8DAEA,EAAe,uBAAwB,CAAO",
5
+ "mappings": ";AAYA,YAAY,aAAa;AACzB,SAAS,sBAAsB;AAE/B,eAAe,wBAAwB,OAAO;",
6
6
  "names": []
7
7
  }