@spectrum-web-components/table 0.1.2 → 0.1.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spectrum-web-components/table",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -113,9 +113,9 @@
113
113
  "dependencies": {
114
114
  "@lit-labs/virtualizer": "^0.7.1",
115
115
  "@spectrum-web-components/base": "^0.7.0",
116
- "@spectrum-web-components/checkbox": "^0.14.2",
117
- "@spectrum-web-components/icon": "^0.12.1",
118
- "@spectrum-web-components/icons-ui": "^0.9.1",
116
+ "@spectrum-web-components/checkbox": "^0.14.3",
117
+ "@spectrum-web-components/icon": "^0.12.2",
118
+ "@spectrum-web-components/icons-ui": "^0.9.2",
119
119
  "tslib": "^2.0.0"
120
120
  },
121
121
  "devDependencies": {
@@ -128,5 +128,5 @@
128
128
  "./elements.js",
129
129
  "./**/*.dev.js"
130
130
  ],
131
- "gitHead": "96da2eef637c5d50dd04a75d40a46353116787b4"
131
+ "gitHead": "31d083d1eb61a1382335030c190c85d85f41e15d"
132
132
  }
@@ -13,6 +13,8 @@ import "@spectrum-web-components/table/sp-table-head-cell.js";
13
13
  import "@spectrum-web-components/table/sp-table-body.js";
14
14
  import "@spectrum-web-components/table/sp-table-row.js";
15
15
  import "@spectrum-web-components/table/sp-table-cell.js";
16
+ import "@spectrum-web-components/theme/sp-theme.js";
17
+ import "@spectrum-web-components/theme/src/themes.js";
16
18
  import {
17
19
  virtualized,
18
20
  virtualizedCustomRow,
@@ -98,19 +100,21 @@ describe("Virtualized Table Selects", () => {
98
100
  it('surfaces [selects="single"] selection on Virtualized Table', async () => {
99
101
  const test = await fixture(
100
102
  html`
101
- <div>
103
+ <sp-theme theme="spectrum" scale="medium" color="light">
102
104
  ${virtualizedSingle(virtualizedSingle.args)}
103
- </div>
105
+ </sp-theme>
104
106
  `
105
107
  );
106
108
  const el = test.querySelector("sp-table");
107
109
  await oneEvent(el, "rangeChanged");
108
110
  await elementUpdated(el);
109
111
  expect(el.selected, "'Row 50 selected").to.deep.equal(["49"]);
110
- el.scrollTop = el.scrollHeight;
112
+ const body = el.querySelector("sp-table-body");
113
+ body.scrollTop = body.scrollHeight;
111
114
  await nextFrame();
112
115
  await nextFrame();
113
116
  await elementUpdated(el);
117
+ await elementUpdated(body);
114
118
  const lastRow = el.querySelector('[value="49"]');
115
119
  const lastRowCheckboxCell = lastRow.querySelector(
116
120
  "sp-table-checkbox-cell"
@@ -120,9 +124,9 @@ describe("Virtualized Table Selects", () => {
120
124
  it('selects via `click` while [selects="single"]', async () => {
121
125
  const test = await fixture(
122
126
  html`
123
- <div>
127
+ <sp-theme theme="spectrum" scale="medium" color="light">
124
128
  ${virtualizedSingle(virtualizedSingle.args)}
125
- </div>
129
+ </sp-theme>
126
130
  `
127
131
  );
128
132
  const el = test.querySelector("sp-table");
@@ -152,21 +156,23 @@ describe("Virtualized Table Selects", () => {
152
156
  it('surfaces [selects="multiple"] selection on Virtualized Table', async () => {
153
157
  const test = await fixture(
154
158
  html`
155
- <div>
159
+ <sp-theme theme="spectrum" scale="medium" color="light">
156
160
  ${virtualizedMultiple(
157
161
  virtualizedMultiple.args
158
162
  )}
159
- </div>
163
+ </sp-theme>
160
164
  `
161
165
  );
162
166
  const el = test.querySelector("sp-table");
163
167
  await oneEvent(el, "rangeChanged");
164
168
  await elementUpdated(el);
165
169
  expect(el.selected).to.deep.equal(["0", "48"]);
166
- el.scrollTop = el.scrollHeight;
170
+ const body = el.querySelector("sp-table-body");
171
+ body.scrollTop = body.scrollHeight;
167
172
  await nextFrame();
168
173
  await nextFrame();
169
174
  await elementUpdated(el);
175
+ await elementUpdated(body);
170
176
  const unseenRow = el.querySelector('[value="48"]');
171
177
  expect(unseenRow).to.not.be.null;
172
178
  const unseenRowCheckboxCell = unseenRow.querySelector(
@@ -308,11 +314,11 @@ describe("Virtualized Table Selects", () => {
308
314
  it("ensures that virtualized elements with values in .selected are visually selected when brought into view using scrollTop", async () => {
309
315
  const test = await fixture(
310
316
  html`
311
- <div>
317
+ <sp-theme theme="spectrum" scale="medium" color="light">
312
318
  ${virtualizedMultiple(
313
319
  virtualizedMultiple.args
314
320
  )}
315
- </div>
321
+ </sp-theme>
316
322
  `
317
323
  );
318
324
  const el = test.querySelector("sp-table");
@@ -325,10 +331,12 @@ describe("Virtualized Table Selects", () => {
325
331
  expect(el.selected).to.deep.equal(["0", "48"]);
326
332
  expect(rowOne.selected).to.be.true;
327
333
  expect(rowOneCheckboxCell.checkbox.checked).to.be.true;
328
- el.scrollTop = el.scrollHeight;
334
+ const body = el.querySelector("sp-table-body");
335
+ body.scrollTop = body.scrollHeight;
329
336
  await nextFrame();
330
337
  await nextFrame();
331
338
  await elementUpdated(el);
339
+ await elementUpdated(body);
332
340
  const unseenRow = el.querySelector('[value="48"]');
333
341
  const unseenRowCheckboxCell = unseenRow.querySelector(
334
342
  "sp-table-checkbox-cell"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["virtualized-table-selects.test.ts"],
4
- "sourcesContent": ["/*\nCopyright 2022 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport {\n elementUpdated,\n expect,\n fixture,\n html,\n nextFrame,\n oneEvent,\n} from '@open-wc/testing';\n\nimport '@spectrum-web-components/table/sp-table.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 type {\n Table,\n TableCheckboxCell,\n TableRow,\n} from '@spectrum-web-components/table';\nimport {\n virtualized,\n virtualizedCustomRow,\n virtualizedCustomValue,\n virtualizedMultiple,\n virtualizedSingle,\n} from '../stories/table-virtualized.stories.js';\nimport { makeItems, Properties, renderItem } from '../stories/index.js';\nimport { ignoreResizeObserverLoopError } from '../../../test/testing-helpers.js';\n\nignoreResizeObserverLoopError(before, after);\n\ndescribe('Virtualized Table Selects', () => {\n it('selects and deselects all checkboxes in Virtualized Table when clicking the TableHeadCheckboxCell', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedMultiple(\n virtualizedMultiple.args as Properties\n )}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal(['0', '48']);\n expect(el.selected.length).to.equal(2);\n\n const tableHeadCheckboxCell = el.querySelector(\n 'sp-table-head sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n tableHeadCheckboxCell.checkbox.click();\n\n await elementUpdated(el);\n\n expect(el.selected.length).to.equal(49);\n\n tableHeadCheckboxCell.checkbox.click();\n\n await elementUpdated(el);\n await elementUpdated(tableHeadCheckboxCell);\n\n expect(el.selected.length).to.equal(0);\n });\n\n it('validates `value` property to make sure it matches the values in `selected`', async () => {\n const el = await fixture<Table>(\n virtualizedCustomValue(virtualizedCustomValue.args as Properties)\n );\n\n expect(el.selected).to.deep.equal(['applied-47']);\n\n el.selected = ['0'];\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal([]);\n\n el.selected = ['applied-1'];\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal(['applied-1']);\n });\n\n it('can prevent selection', async () => {\n const el = await fixture<Table>(\n html`\n <sp-table\n size=\"m\"\n style=\"height: 200px\"\n selects=\"single\"\n @change=${(event: Event) => {\n event.preventDefault();\n }}\n .items=${makeItems(50)}\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 `\n );\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n const rowTwo = el.querySelector('[value=\"2\"]') as TableRow;\n const rowTwoCheckbox = rowTwo.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n rowTwoCheckbox.checkbox.click();\n await elementUpdated(el);\n\n expect(rowTwoCheckbox.checked).to.be.false;\n expect(rowTwo.selected).to.be.false;\n expect(el.selected.length).to.equal(0);\n });\n\n it('surfaces [selects=\"single\"] selection on Virtualized Table', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedSingle(virtualizedSingle.args as Properties)}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n expect(el.selected, \"'Row 50 selected\").to.deep.equal(['49']);\n\n el.scrollTop = el.scrollHeight;\n\n await nextFrame();\n await nextFrame();\n await elementUpdated(el);\n\n const lastRow = el.querySelector('[value=\"49\"]') as TableRow;\n const lastRowCheckboxCell = lastRow.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(lastRowCheckboxCell.checked).to.be.true;\n });\n\n it('selects via `click` while [selects=\"single\"]', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedSingle(virtualizedSingle.args as Properties)}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n el.selected = [];\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n const rowTwo = el.querySelector('[value=\"1\"]') as TableRow;\n const rowTwoCheckbox = rowTwo.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n const rowThree = el.querySelector('[value=\"2\"]') as TableRow;\n const rowThreeCheckbox = rowThree.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n await elementUpdated(el);\n expect(el.selected.length).to.equal(0);\n\n rowTwoCheckbox.checkbox.click();\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal(['1']);\n\n rowThreeCheckbox.click();\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal(['2']);\n\n rowTwo.click();\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal(['1']);\n });\n\n it('surfaces [selects=\"multiple\"] selection on Virtualized Table', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedMultiple(\n virtualizedMultiple.args as Properties\n )}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal(['0', '48']);\n\n el.scrollTop = el.scrollHeight;\n\n await nextFrame();\n await nextFrame();\n await elementUpdated(el);\n\n const unseenRow = el.querySelector('[value=\"48\"]') as TableRow;\n expect(unseenRow).to.not.be.null;\n const unseenRowCheckboxCell = unseenRow.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(unseenRowCheckboxCell.checked).to.be.true;\n });\n\n it('selects via `click` while [selects=\"multiple\"] selection', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedMultiple(\n virtualizedMultiple.args as Properties\n )}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n el.selected = [];\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n const rowTwo = el.querySelector('[value=\"2\"]') as TableRow;\n const tableHeadCheckboxCell = el.querySelector(\n 'sp-table-head sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n const rowTwoCheckbox = rowTwo.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n await elementUpdated(el);\n expect(el.selected.length).to.equal(0);\n\n rowTwoCheckbox.checkbox.click();\n await elementUpdated(el);\n\n expect(rowTwoCheckbox.checked).to.be.true;\n expect(el.selected).to.deep.equal(['2']);\n\n tableHeadCheckboxCell.checkbox.click();\n await elementUpdated(el);\n\n expect(el.selected.length).to.equal(49);\n });\n\n it('allows .selected values to be changed by the application when [selects=\"multiple\"]', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedMultiple(\n virtualizedMultiple.args as Properties\n )}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n el.selected = ['1'];\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n const rowOne = el.querySelector('[value=\"1\"]') as TableRow;\n const rowOneCheckboxCell = rowOne.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n const rowTwo = el.querySelector('[value=\"2\"]') as TableRow;\n const rowTwoCheckboxCell = rowTwo.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(el.selected).to.deep.equal(['1']);\n expect(rowOneCheckboxCell.checkbox.checked).to.be.true;\n expect(rowTwoCheckboxCell.checkbox.checked).to.be.false;\n\n el.selected = ['1', '2'];\n\n await nextFrame;\n await nextFrame;\n await elementUpdated(el);\n await elementUpdated(rowTwoCheckboxCell);\n\n expect(el.selected).to.deep.equal(['1', '2']);\n expect(rowOneCheckboxCell.checkbox.checked).to.be.true;\n expect(rowTwo.selected).to.be.true;\n expect(rowTwoCheckboxCell.checkbox.checked).to.be.true;\n });\n\n it('allows [selects] to be changed by the application', async () => {\n const test = await fixture<HTMLElement>(virtualized());\n const el = test.shadowRoot?.querySelector('sp-table') as Table;\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n expect(el.selects).to.be.undefined;\n\n el.selects = 'single';\n await elementUpdated(el);\n\n expect(el.selects).to.equal('single');\n\n // render table body\n await nextFrame();\n // render checkboxes\n await nextFrame();\n await elementUpdated(el);\n\n const rowOne = el.querySelector('[value=\"0\"]') as TableRow;\n const rowOneCheckboxCell = rowOne.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n const rowTwo = el.querySelector('[value=\"1\"]') as TableRow;\n const rowTwoCheckboxCell = rowTwo.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n const tableHeadCheckboxCell = el.querySelector(\n 'sp-table-head sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(tableHeadCheckboxCell.selectsSingle).to.be.true;\n\n rowOneCheckboxCell.checkbox.click();\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal(['0']);\n expect(rowOneCheckboxCell.checkbox.checked).to.be.true;\n expect(rowTwoCheckboxCell.checkbox.checked).to.be.false;\n\n el.selects = 'multiple';\n await elementUpdated(el);\n\n expect(el.selects).to.equal('multiple');\n expect(tableHeadCheckboxCell.indeterminate).to.be.true;\n\n rowTwoCheckboxCell.checkbox.click();\n\n await elementUpdated(el);\n await elementUpdated(rowTwoCheckboxCell);\n\n expect(el.selected).to.deep.equal(['0', '1']);\n expect(rowOneCheckboxCell.checkbox.checked).to.be.true;\n expect(rowTwoCheckboxCell.checkbox.checked).to.be.true;\n expect(tableHeadCheckboxCell.indeterminate).to.be.true;\n\n el.removeAttribute('selects');\n await elementUpdated(el);\n\n expect(el.selects).to.be.null;\n expect(tableHeadCheckboxCell.indeterminate).to.be.true;\n\n const checkboxes = el.querySelectorAll(\n 'sp-table-checkbox-cell'\n ) as NodeListOf<TableCheckboxCell>;\n\n expect(checkboxes.length).to.equal(0);\n });\n\n it('selects a user-passed value for .selected array with no [selects] specified on Virtualized `<sp-table>`, but does not allow interaction afterwards', async () => {\n const test = await fixture<HTMLElement>(virtualized());\n const el = test.shadowRoot?.querySelector('sp-table') as Table;\n el.selected = ['0'];\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n expect(el.selected.length).to.equal(1);\n\n const rowOne = el.querySelector('[value=\"0\"]') as TableRow;\n const rowTwo = el.querySelector('[value=\"1\"]') as TableRow;\n const rowTwoCheckbox = rowTwo.querySelector('sp-table-checkbox-cell');\n\n expect(rowOne.selected).to.be.true;\n expect(rowTwo.selected).to.be.false;\n\n expect(rowTwoCheckbox).to.be.null;\n });\n\n it('ensures that virtualized elements with values in .selected are visually selected when brought into view using scrollTop', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedMultiple(\n virtualizedMultiple.args as Properties\n )}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n const rowOne = el.querySelector('[value=\"0\"]') as TableRow;\n const rowOneCheckboxCell = rowOne.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(el.selected).to.deep.equal(['0', '48']);\n expect(rowOne.selected).to.be.true;\n expect(rowOneCheckboxCell.checkbox.checked).to.be.true;\n\n el.scrollTop = el.scrollHeight;\n\n await nextFrame();\n await nextFrame();\n await elementUpdated(el);\n\n const unseenRow = el.querySelector('[value=\"48\"]') as TableRow;\n const unseenRowCheckboxCell = unseenRow.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(unseenRow.selected).to.be.true;\n expect(unseenRowCheckboxCell.checkbox.checked).to.be.true;\n });\n\n it('ensures that virtualized elements with values in .selected are visually selected when brought into view using scrollToIndex', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedMultiple(\n virtualizedMultiple.args as Properties\n )}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n const rowOne = el.querySelector('[value=\"0\"]') as TableRow;\n const rowOneCheckboxCell = rowOne.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(el.selected).to.deep.equal(['0', '48']);\n expect(rowOne.selected).to.be.true;\n expect(rowOneCheckboxCell.checkbox.checked).to.be.true;\n\n el.scrollToIndex(47);\n\n await nextFrame();\n await nextFrame();\n await elementUpdated(el);\n\n const unseenRow = el.querySelector('[value=\"48\"]') as TableRow;\n const unseenRowCheckboxCell = unseenRow.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(unseenRow.selected).to.be.true;\n expect(unseenRowCheckboxCell.checkbox.checked).to.be.true;\n });\n\n it('does not set `allSelected` to true by default on Virtualised `<sp-table>`', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedMultiple(\n virtualizedMultiple.args as Properties\n )}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n await elementUpdated(el);\n\n const tableHeadCheckboxCell = el.querySelector(\n 'sp-table-head sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(el.selected).to.deep.equal(['0', '48']);\n expect(tableHeadCheckboxCell.checkbox.checked).to.be.false;\n expect(tableHeadCheckboxCell.checkbox.indeterminate).to.be.true;\n });\n});\n\nit('renders custom content at a particular row and does not select it', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedCustomRow(virtualizedCustomRow.args as Properties)}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n const customRow = el.querySelector('[value=\"3\"]') as TableRow;\n const customRowCheckbox = customRow.querySelector('sp-checkbox-cell');\n\n expect(customRowCheckbox).to.be.null;\n\n const tableHeadCheckboxCell = el.querySelector(\n 'sp-table-head sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n tableHeadCheckboxCell.checkbox.click();\n await elementUpdated(el);\n\n expect(customRow.selected).to.be.false;\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/*\nCopyright 2022 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport {\n elementUpdated,\n expect,\n fixture,\n html,\n nextFrame,\n oneEvent,\n} from '@open-wc/testing';\n\nimport '@spectrum-web-components/table/sp-table.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 '@spectrum-web-components/theme/sp-theme.js';\nimport '@spectrum-web-components/theme/src/themes.js';\nimport type {\n Table,\n TableBody,\n TableCheckboxCell,\n TableRow,\n} from '@spectrum-web-components/table';\nimport {\n virtualized,\n virtualizedCustomRow,\n virtualizedCustomValue,\n virtualizedMultiple,\n virtualizedSingle,\n} from '../stories/table-virtualized.stories.js';\nimport { makeItems, Properties, renderItem } from '../stories/index.js';\nimport { ignoreResizeObserverLoopError } from '../../../test/testing-helpers.js';\n\nignoreResizeObserverLoopError(before, after);\n\ndescribe('Virtualized Table Selects', () => {\n it('selects and deselects all checkboxes in Virtualized Table when clicking the TableHeadCheckboxCell', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedMultiple(\n virtualizedMultiple.args as Properties\n )}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal(['0', '48']);\n expect(el.selected.length).to.equal(2);\n\n const tableHeadCheckboxCell = el.querySelector(\n 'sp-table-head sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n tableHeadCheckboxCell.checkbox.click();\n\n await elementUpdated(el);\n\n expect(el.selected.length).to.equal(49);\n\n tableHeadCheckboxCell.checkbox.click();\n\n await elementUpdated(el);\n await elementUpdated(tableHeadCheckboxCell);\n\n expect(el.selected.length).to.equal(0);\n });\n\n it('validates `value` property to make sure it matches the values in `selected`', async () => {\n const el = await fixture<Table>(\n virtualizedCustomValue(virtualizedCustomValue.args as Properties)\n );\n\n expect(el.selected).to.deep.equal(['applied-47']);\n\n el.selected = ['0'];\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal([]);\n\n el.selected = ['applied-1'];\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal(['applied-1']);\n });\n\n it('can prevent selection', async () => {\n const el = await fixture<Table>(\n html`\n <sp-table\n size=\"m\"\n style=\"height: 200px\"\n selects=\"single\"\n @change=${(event: Event) => {\n event.preventDefault();\n }}\n .items=${makeItems(50)}\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 `\n );\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n const rowTwo = el.querySelector('[value=\"2\"]') as TableRow;\n const rowTwoCheckbox = rowTwo.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n rowTwoCheckbox.checkbox.click();\n await elementUpdated(el);\n\n expect(rowTwoCheckbox.checked).to.be.false;\n expect(rowTwo.selected).to.be.false;\n expect(el.selected.length).to.equal(0);\n });\n\n it('surfaces [selects=\"single\"] selection on Virtualized Table', async () => {\n const test = await fixture<Table>(\n html`\n <sp-theme theme=\"spectrum\" scale=\"medium\" color=\"light\">\n ${virtualizedSingle(virtualizedSingle.args as Properties)}\n </sp-theme>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n expect(el.selected, \"'Row 50 selected\").to.deep.equal(['49']);\n\n const body = el.querySelector('sp-table-body') as TableBody;\n body.scrollTop = body.scrollHeight;\n\n await nextFrame();\n await nextFrame();\n await elementUpdated(el);\n await elementUpdated(body);\n\n const lastRow = el.querySelector('[value=\"49\"]') as TableRow;\n const lastRowCheckboxCell = lastRow.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(lastRowCheckboxCell.checked).to.be.true;\n });\n\n it('selects via `click` while [selects=\"single\"]', async () => {\n const test = await fixture<Table>(\n html`\n <sp-theme theme=\"spectrum\" scale=\"medium\" color=\"light\">\n ${virtualizedSingle(virtualizedSingle.args as Properties)}\n </sp-theme>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n el.selected = [];\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n const rowTwo = el.querySelector('[value=\"1\"]') as TableRow;\n const rowTwoCheckbox = rowTwo.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n const rowThree = el.querySelector('[value=\"2\"]') as TableRow;\n const rowThreeCheckbox = rowThree.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n await elementUpdated(el);\n expect(el.selected.length).to.equal(0);\n\n rowTwoCheckbox.checkbox.click();\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal(['1']);\n\n rowThreeCheckbox.click();\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal(['2']);\n\n rowTwo.click();\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal(['1']);\n });\n\n it('surfaces [selects=\"multiple\"] selection on Virtualized Table', async () => {\n const test = await fixture<Table>(\n html`\n <sp-theme theme=\"spectrum\" scale=\"medium\" color=\"light\">\n ${virtualizedMultiple(\n virtualizedMultiple.args as Properties\n )}\n </sp-theme>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal(['0', '48']);\n\n const body = el.querySelector('sp-table-body') as TableBody;\n body.scrollTop = body.scrollHeight;\n\n await nextFrame();\n await nextFrame();\n await elementUpdated(el);\n await elementUpdated(body);\n\n const unseenRow = el.querySelector('[value=\"48\"]') as TableRow;\n expect(unseenRow).to.not.be.null;\n const unseenRowCheckboxCell = unseenRow.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(unseenRowCheckboxCell.checked).to.be.true;\n });\n\n it('selects via `click` while [selects=\"multiple\"] selection', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedMultiple(\n virtualizedMultiple.args as Properties\n )}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n el.selected = [];\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n const rowTwo = el.querySelector('[value=\"2\"]') as TableRow;\n const tableHeadCheckboxCell = el.querySelector(\n 'sp-table-head sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n const rowTwoCheckbox = rowTwo.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n await elementUpdated(el);\n expect(el.selected.length).to.equal(0);\n\n rowTwoCheckbox.checkbox.click();\n await elementUpdated(el);\n\n expect(rowTwoCheckbox.checked).to.be.true;\n expect(el.selected).to.deep.equal(['2']);\n\n tableHeadCheckboxCell.checkbox.click();\n await elementUpdated(el);\n\n expect(el.selected.length).to.equal(49);\n });\n\n it('allows .selected values to be changed by the application when [selects=\"multiple\"]', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedMultiple(\n virtualizedMultiple.args as Properties\n )}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n el.selected = ['1'];\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n const rowOne = el.querySelector('[value=\"1\"]') as TableRow;\n const rowOneCheckboxCell = rowOne.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n const rowTwo = el.querySelector('[value=\"2\"]') as TableRow;\n const rowTwoCheckboxCell = rowTwo.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(el.selected).to.deep.equal(['1']);\n expect(rowOneCheckboxCell.checkbox.checked).to.be.true;\n expect(rowTwoCheckboxCell.checkbox.checked).to.be.false;\n\n el.selected = ['1', '2'];\n\n await nextFrame;\n await nextFrame;\n await elementUpdated(el);\n await elementUpdated(rowTwoCheckboxCell);\n\n expect(el.selected).to.deep.equal(['1', '2']);\n expect(rowOneCheckboxCell.checkbox.checked).to.be.true;\n expect(rowTwo.selected).to.be.true;\n expect(rowTwoCheckboxCell.checkbox.checked).to.be.true;\n });\n\n it('allows [selects] to be changed by the application', async () => {\n const test = await fixture<HTMLElement>(virtualized());\n const el = test.shadowRoot?.querySelector('sp-table') as Table;\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n expect(el.selects).to.be.undefined;\n\n el.selects = 'single';\n await elementUpdated(el);\n\n expect(el.selects).to.equal('single');\n\n // render table body\n await nextFrame();\n // render checkboxes\n await nextFrame();\n await elementUpdated(el);\n\n const rowOne = el.querySelector('[value=\"0\"]') as TableRow;\n const rowOneCheckboxCell = rowOne.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n const rowTwo = el.querySelector('[value=\"1\"]') as TableRow;\n const rowTwoCheckboxCell = rowTwo.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n const tableHeadCheckboxCell = el.querySelector(\n 'sp-table-head sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(tableHeadCheckboxCell.selectsSingle).to.be.true;\n\n rowOneCheckboxCell.checkbox.click();\n await elementUpdated(el);\n\n expect(el.selected).to.deep.equal(['0']);\n expect(rowOneCheckboxCell.checkbox.checked).to.be.true;\n expect(rowTwoCheckboxCell.checkbox.checked).to.be.false;\n\n el.selects = 'multiple';\n await elementUpdated(el);\n\n expect(el.selects).to.equal('multiple');\n expect(tableHeadCheckboxCell.indeterminate).to.be.true;\n\n rowTwoCheckboxCell.checkbox.click();\n\n await elementUpdated(el);\n await elementUpdated(rowTwoCheckboxCell);\n\n expect(el.selected).to.deep.equal(['0', '1']);\n expect(rowOneCheckboxCell.checkbox.checked).to.be.true;\n expect(rowTwoCheckboxCell.checkbox.checked).to.be.true;\n expect(tableHeadCheckboxCell.indeterminate).to.be.true;\n\n el.removeAttribute('selects');\n await elementUpdated(el);\n\n expect(el.selects).to.be.null;\n expect(tableHeadCheckboxCell.indeterminate).to.be.true;\n\n const checkboxes = el.querySelectorAll(\n 'sp-table-checkbox-cell'\n ) as NodeListOf<TableCheckboxCell>;\n\n expect(checkboxes.length).to.equal(0);\n });\n\n it('selects a user-passed value for .selected array with no [selects] specified on Virtualized `<sp-table>`, but does not allow interaction afterwards', async () => {\n const test = await fixture<HTMLElement>(virtualized());\n const el = test.shadowRoot?.querySelector('sp-table') as Table;\n el.selected = ['0'];\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n expect(el.selected.length).to.equal(1);\n\n const rowOne = el.querySelector('[value=\"0\"]') as TableRow;\n const rowTwo = el.querySelector('[value=\"1\"]') as TableRow;\n const rowTwoCheckbox = rowTwo.querySelector('sp-table-checkbox-cell');\n\n expect(rowOne.selected).to.be.true;\n expect(rowTwo.selected).to.be.false;\n\n expect(rowTwoCheckbox).to.be.null;\n });\n\n it('ensures that virtualized elements with values in .selected are visually selected when brought into view using scrollTop', async () => {\n const test = await fixture<Table>(\n html`\n <sp-theme theme=\"spectrum\" scale=\"medium\" color=\"light\">\n ${virtualizedMultiple(\n virtualizedMultiple.args as Properties\n )}\n </sp-theme>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n const rowOne = el.querySelector('[value=\"0\"]') as TableRow;\n const rowOneCheckboxCell = rowOne.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(el.selected).to.deep.equal(['0', '48']);\n expect(rowOne.selected).to.be.true;\n expect(rowOneCheckboxCell.checkbox.checked).to.be.true;\n\n const body = el.querySelector('sp-table-body') as TableBody;\n body.scrollTop = body.scrollHeight;\n\n await nextFrame();\n await nextFrame();\n await elementUpdated(el);\n await elementUpdated(body);\n\n const unseenRow = el.querySelector('[value=\"48\"]') as TableRow;\n const unseenRowCheckboxCell = unseenRow.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(unseenRow.selected).to.be.true;\n expect(unseenRowCheckboxCell.checkbox.checked).to.be.true;\n });\n\n it('ensures that virtualized elements with values in .selected are visually selected when brought into view using scrollToIndex', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedMultiple(\n virtualizedMultiple.args as Properties\n )}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n const rowOne = el.querySelector('[value=\"0\"]') as TableRow;\n const rowOneCheckboxCell = rowOne.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(el.selected).to.deep.equal(['0', '48']);\n expect(rowOne.selected).to.be.true;\n expect(rowOneCheckboxCell.checkbox.checked).to.be.true;\n\n el.scrollToIndex(47);\n\n await nextFrame();\n await nextFrame();\n await elementUpdated(el);\n\n const unseenRow = el.querySelector('[value=\"48\"]') as TableRow;\n const unseenRowCheckboxCell = unseenRow.querySelector(\n 'sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(unseenRow.selected).to.be.true;\n expect(unseenRowCheckboxCell.checkbox.checked).to.be.true;\n });\n\n it('does not set `allSelected` to true by default on Virtualised `<sp-table>`', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedMultiple(\n virtualizedMultiple.args as Properties\n )}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n await elementUpdated(el);\n\n const tableHeadCheckboxCell = el.querySelector(\n 'sp-table-head sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n\n expect(el.selected).to.deep.equal(['0', '48']);\n expect(tableHeadCheckboxCell.checkbox.checked).to.be.false;\n expect(tableHeadCheckboxCell.checkbox.indeterminate).to.be.true;\n });\n});\n\nit('renders custom content at a particular row and does not select it', async () => {\n const test = await fixture<Table>(\n html`\n <div>\n ${virtualizedCustomRow(virtualizedCustomRow.args as Properties)}\n </div>\n `\n );\n const el = test.querySelector('sp-table') as Table;\n\n await oneEvent(el, 'rangeChanged');\n await elementUpdated(el);\n\n const customRow = el.querySelector('[value=\"3\"]') as TableRow;\n const customRowCheckbox = customRow.querySelector('sp-checkbox-cell');\n\n expect(customRowCheckbox).to.be.null;\n\n const tableHeadCheckboxCell = el.querySelector(\n 'sp-table-head sp-table-checkbox-cell'\n ) as TableCheckboxCell;\n tableHeadCheckboxCell.checkbox.click();\n await elementUpdated(el);\n\n expect(customRow.selected).to.be.false;\n});\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }