diff --git a/components/table/demo/table-test.js b/components/table/demo/table-test.js index 8107b241524..61d2a7bf54d 100644 --- a/components/table/demo/table-test.js +++ b/components/table/demo/table-test.js @@ -16,17 +16,17 @@ import { DemoPassthroughMixin } from '../../demo/demo-passthrough-mixin.js'; import { ifDefined } from 'lit/directives/if-defined.js'; import { RtlMixin } from '../../../mixins/rtl/rtl-mixin.js'; -const fruits = ['Apples', 'Oranges', 'Bananas']; +const columns = ['Population', 'Size', 'Elevation']; const thText = ['Additional', 'Placeholder', 'Header', 'Row']; const data = () => [ - { name: 'Canada', fruit: { 'apples': 356863, 'oranges': 0, 'bananas': 0 }, selected: true }, - { name: 'Australia', fruit: { 'apples': 308298, 'oranges': 398610, 'bananas': 354241 }, selected: true }, - { name: 'Mexico', fruit: { 'apples': 716931, 'oranges': 4603253, 'bananas': 2384778 }, selected: false }, - { name: 'Brazil', fruit: { 'apples': 1300000, 'oranges': 50000, 'bananas': 6429875 }, selected: false }, - { name: 'England', fruit: { 'apples': 345782, 'oranges': 4, 'bananas': 1249875 }, selected: false }, - { name: 'Hawaii', fruit: { 'apples': 129875, 'oranges': 856765, 'bananas': 123 }, selected: false }, - { name: 'Japan', fruit: { 'apples': 8534, 'oranges': 1325, 'bananas': 78382756 }, selected: false } + { name: 'Ottawa, Canada', city: 'Ottawa', country: 'Canada', data: { 'population': 994837, 'size': 2790, 'elevation': 70 }, selected: true }, + { name: 'Toronto, Canada', city: 'Toronto', country: 'Canada', data: { 'population': 2930000, 'size': 630, 'elevation': 76 }, selected: true }, + { name: 'Sydney, Australia', city: 'Sydney', country: 'Australia', data: { 'population': 5312000, 'size': 12368, 'elevation': 3 }, selected: false }, + { name: 'Cairo, Egypt', city: 'Cairo', country: 'Egypt', data: { 'population': 9540000, 'size': 3085, 'elevation': 23 }, selected: false }, + { name: 'Moscow, Russia', city: 'Moscow', country: 'Russia', data: { 'population': 12712305, 'size': 2511, 'elevation': 124 }, selected: false }, + { name: 'London, England', city: 'London', country: 'England', data: { 'population': 8982000, 'size': 1572, 'elevation': 11 }, selected: false }, + { name: 'Tokyo, Japan', city: 'Tokyo', country: 'Japan', data: { 'population': 13960000, 'size': 2194, 'elevation': 40 }, selected: false } ]; const formatter = new Intl.NumberFormat('en-US'); @@ -67,12 +67,6 @@ class TestTable extends RtlMixin(DemoPassthroughMixin(TableWrapper, 'd2l-table-w } render() { - const sorted = this._data.sort((a, b) => { - if (this._sortDesc) { - return b.fruit[this._sortField] - a.fruit[this._sortField]; - } - return a.fruit[this._sortField] - b.fruit[this._sortField]; - }); return html` @@ -92,21 +86,24 @@ class TestTable extends RtlMixin(DemoPassthroughMixin(TableWrapper, 'd2l-table-w - Country - ${fruits.map(fruit => this._renderSortButton(fruit))} + ${this._renderDoubleSortButton('City', 'Country')} + ${columns.map(columnHeading => this._renderSortButton(columnHeading))} - ${this._renderSortButton('Avocado')} - ${fruits.map(fruit => this._renderSortButton(fruit))} + ${thText.map(text => html`${text}`)} - ${thText.map(text => html`${text}`)} + ${thText.map(text => html` + + ${text} + + `)} - ${sorted.map(row => html` + ${this._data.map(row => html` ${row.name} - ${fruits.map(fruit => html`${formatter.format(row.fruit[fruit.toLowerCase()])}`)} + ${columns.map(columnHeading => html`${formatter.format(row.data[columnHeading.toLowerCase()])}`)} `)} + ${this.paging ? html` { + if (this._sortField === 'city' || this._sortField === 'country') { + if (this._sortDesc) { + if (a[this._sortField] > b[this._sortField]) return -1; + if (a[this._sortField] < b[this._sortField]) return 1; + } else { + if (a[this._sortField] < b[this._sortField]) return -1; + if (a[this._sortField] > b[this._sortField]) return 1; + } + } else { + if (this._sortDesc) { + return b.data[this._sortField] - a.data[this._sortField]; + } + return a.data[this._sortField] - b.data[this._sortField]; + } + }); + } + + _renderDoubleSortButton(item1, item2) { + return html` + + ${item1} + ${item2} + + `; } - _renderSortButton(fruit) { - const noSort = this._sortField !== fruit.toLowerCase(); + _renderSortButton(item) { + const noSort = this._sortField !== item.toLowerCase(); return html` ${fruit} + ?nosort="${noSort}">${item} `; } diff --git a/components/table/test/golden/table/chromium/ltr-default-nonstick-col-sort-button-hover-focus.png b/components/table/test/golden/table/chromium/ltr-default-nonstick-col-sort-button-hover-focus.png new file mode 100644 index 00000000000..1b72a96eb70 Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-default-nonstick-col-sort-button-hover-focus.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-nonstick-col-sort-button-hover.png b/components/table/test/golden/table/chromium/ltr-default-nonstick-col-sort-button-hover.png new file mode 100644 index 00000000000..621313c1a4c Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-default-nonstick-col-sort-button-hover.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-nonstick-col-sort-button-icon-button-focus-first.png b/components/table/test/golden/table/chromium/ltr-default-nonstick-col-sort-button-icon-button-focus-first.png new file mode 100644 index 00000000000..18313d8cc02 Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-default-nonstick-col-sort-button-icon-button-focus-first.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-nonstick-col-sort-button-icon-button-focus-second.png b/components/table/test/golden/table/chromium/ltr-default-nonstick-col-sort-button-icon-button-focus-second.png new file mode 100644 index 00000000000..23baa376b18 Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-default-nonstick-col-sort-button-icon-button-focus-second.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-nonstick-col-sort-button-icon-button.png b/components/table/test/golden/table/chromium/ltr-default-nonstick-col-sort-button-icon-button.png new file mode 100644 index 00000000000..c8434f25c52 Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-default-nonstick-col-sort-button-icon-button.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button-focus-first.png b/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button-focus-first.png new file mode 100644 index 00000000000..0eb029cf18d Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button-focus-first.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button-focus-second.png b/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button-focus-second.png new file mode 100644 index 00000000000..180d0d3594a Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button-focus-second.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button-hover-first.png b/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button-hover-first.png new file mode 100644 index 00000000000..a4f8d0469e4 Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button-hover-first.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button-hover-second.png b/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button-hover-second.png new file mode 100644 index 00000000000..60574dcc795 Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button-hover-second.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button-wrap.png b/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button-wrap.png new file mode 100644 index 00000000000..341031ff97c Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button-wrap.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button.png b/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button.png new file mode 100644 index 00000000000..b5391d58555 Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-default-nonstick-two-col-sort-button.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-nonstick-wrapper-component.png b/components/table/test/golden/table/chromium/ltr-default-nonstick-wrapper-component.png new file mode 100644 index 00000000000..b2e3bf42058 Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-default-nonstick-wrapper-component.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-paging-table-with-paging.png b/components/table/test/golden/table/chromium/ltr-default-paging-table-with-paging.png index 13344651760..f2b271a5d21 100644 Binary files a/components/table/test/golden/table/chromium/ltr-default-paging-table-with-paging.png and b/components/table/test/golden/table/chromium/ltr-default-paging-table-with-paging.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-table-controls-all-sticky-1-top.png b/components/table/test/golden/table/chromium/ltr-default-table-controls-all-sticky-1-top.png index 1288a7f4e72..528e05e7bb3 100644 Binary files a/components/table/test/golden/table/chromium/ltr-default-table-controls-all-sticky-1-top.png and b/components/table/test/golden/table/chromium/ltr-default-table-controls-all-sticky-1-top.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-table-controls-all-sticky-2-scrolled.png b/components/table/test/golden/table/chromium/ltr-default-table-controls-all-sticky-2-scrolled.png index b3b91d5467a..a99887e8487 100644 Binary files a/components/table/test/golden/table/chromium/ltr-default-table-controls-all-sticky-2-scrolled.png and b/components/table/test/golden/table/chromium/ltr-default-table-controls-all-sticky-2-scrolled.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-table-controls-no-sticky-1-top.png b/components/table/test/golden/table/chromium/ltr-default-table-controls-no-sticky-1-top.png index 082a23e34b7..53fd3fce25b 100644 Binary files a/components/table/test/golden/table/chromium/ltr-default-table-controls-no-sticky-1-top.png and b/components/table/test/golden/table/chromium/ltr-default-table-controls-no-sticky-1-top.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-table-controls-no-sticky-2-scrolled.png b/components/table/test/golden/table/chromium/ltr-default-table-controls-no-sticky-2-scrolled.png index 2d8a0e18722..f9eb8d75661 100644 Binary files a/components/table/test/golden/table/chromium/ltr-default-table-controls-no-sticky-2-scrolled.png and b/components/table/test/golden/table/chromium/ltr-default-table-controls-no-sticky-2-scrolled.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-table-controls-sticky-controls-1-top.png b/components/table/test/golden/table/chromium/ltr-default-table-controls-sticky-controls-1-top.png index 7c7faf46d2a..797e55d1228 100644 Binary files a/components/table/test/golden/table/chromium/ltr-default-table-controls-sticky-controls-1-top.png and b/components/table/test/golden/table/chromium/ltr-default-table-controls-sticky-controls-1-top.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-table-controls-sticky-controls-2-scrolled.png b/components/table/test/golden/table/chromium/ltr-default-table-controls-sticky-controls-2-scrolled.png index bec130613fb..17fb94db202 100644 Binary files a/components/table/test/golden/table/chromium/ltr-default-table-controls-sticky-controls-2-scrolled.png and b/components/table/test/golden/table/chromium/ltr-default-table-controls-sticky-controls-2-scrolled.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-table-controls-visible-background-1-top.png b/components/table/test/golden/table/chromium/ltr-default-table-controls-visible-background-1-top.png index e6483730b7c..b84ef50b7c2 100644 Binary files a/components/table/test/golden/table/chromium/ltr-default-table-controls-visible-background-1-top.png and b/components/table/test/golden/table/chromium/ltr-default-table-controls-visible-background-1-top.png differ diff --git a/components/table/test/golden/table/chromium/ltr-default-table-controls-visible-background-2-scrolled.png b/components/table/test/golden/table/chromium/ltr-default-table-controls-visible-background-2-scrolled.png index aadab8a0b54..f4514922aff 100644 Binary files a/components/table/test/golden/table/chromium/ltr-default-table-controls-visible-background-2-scrolled.png and b/components/table/test/golden/table/chromium/ltr-default-table-controls-visible-background-2-scrolled.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-nonstick-col-sort-button-hover-focus.png b/components/table/test/golden/table/chromium/ltr-light-nonstick-col-sort-button-hover-focus.png new file mode 100644 index 00000000000..82bf2fa50cc Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-light-nonstick-col-sort-button-hover-focus.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-nonstick-col-sort-button-hover.png b/components/table/test/golden/table/chromium/ltr-light-nonstick-col-sort-button-hover.png new file mode 100644 index 00000000000..4ab634082cd Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-light-nonstick-col-sort-button-hover.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-nonstick-col-sort-button-icon-button-focus-first.png b/components/table/test/golden/table/chromium/ltr-light-nonstick-col-sort-button-icon-button-focus-first.png new file mode 100644 index 00000000000..19b654d00fb Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-light-nonstick-col-sort-button-icon-button-focus-first.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-nonstick-col-sort-button-icon-button-focus-second.png b/components/table/test/golden/table/chromium/ltr-light-nonstick-col-sort-button-icon-button-focus-second.png new file mode 100644 index 00000000000..52fd12b3f03 Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-light-nonstick-col-sort-button-icon-button-focus-second.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-nonstick-col-sort-button-icon-button.png b/components/table/test/golden/table/chromium/ltr-light-nonstick-col-sort-button-icon-button.png new file mode 100644 index 00000000000..65692535b67 Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-light-nonstick-col-sort-button-icon-button.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button-focus-first.png b/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button-focus-first.png new file mode 100644 index 00000000000..11928e51af4 Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button-focus-first.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button-focus-second.png b/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button-focus-second.png new file mode 100644 index 00000000000..0c65429a1b2 Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button-focus-second.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button-hover-first.png b/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button-hover-first.png new file mode 100644 index 00000000000..ed3d6f075d5 Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button-hover-first.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button-hover-second.png b/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button-hover-second.png new file mode 100644 index 00000000000..3b98edc051b Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button-hover-second.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button-wrap.png b/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button-wrap.png new file mode 100644 index 00000000000..51352f647c6 Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button-wrap.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button.png b/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button.png new file mode 100644 index 00000000000..08d4c43180f Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-light-nonstick-two-col-sort-button.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-nonstick-wrapper-component.png b/components/table/test/golden/table/chromium/ltr-light-nonstick-wrapper-component.png new file mode 100644 index 00000000000..a75ee9286b9 Binary files /dev/null and b/components/table/test/golden/table/chromium/ltr-light-nonstick-wrapper-component.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-paging-table-with-paging.png b/components/table/test/golden/table/chromium/ltr-light-paging-table-with-paging.png index 0e8d0b82482..f88ab981b4e 100644 Binary files a/components/table/test/golden/table/chromium/ltr-light-paging-table-with-paging.png and b/components/table/test/golden/table/chromium/ltr-light-paging-table-with-paging.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-table-controls-all-sticky-1-top.png b/components/table/test/golden/table/chromium/ltr-light-table-controls-all-sticky-1-top.png index 883f9d783af..c91eef30db1 100644 Binary files a/components/table/test/golden/table/chromium/ltr-light-table-controls-all-sticky-1-top.png and b/components/table/test/golden/table/chromium/ltr-light-table-controls-all-sticky-1-top.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-table-controls-all-sticky-2-scrolled.png b/components/table/test/golden/table/chromium/ltr-light-table-controls-all-sticky-2-scrolled.png index 4aa2ebcb7af..2ac65bb6e44 100644 Binary files a/components/table/test/golden/table/chromium/ltr-light-table-controls-all-sticky-2-scrolled.png and b/components/table/test/golden/table/chromium/ltr-light-table-controls-all-sticky-2-scrolled.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-table-controls-no-sticky-1-top.png b/components/table/test/golden/table/chromium/ltr-light-table-controls-no-sticky-1-top.png index 427253b75fc..0c1e5c5b396 100644 Binary files a/components/table/test/golden/table/chromium/ltr-light-table-controls-no-sticky-1-top.png and b/components/table/test/golden/table/chromium/ltr-light-table-controls-no-sticky-1-top.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-table-controls-no-sticky-2-scrolled.png b/components/table/test/golden/table/chromium/ltr-light-table-controls-no-sticky-2-scrolled.png index 0a8d93321ee..1b80b10542e 100644 Binary files a/components/table/test/golden/table/chromium/ltr-light-table-controls-no-sticky-2-scrolled.png and b/components/table/test/golden/table/chromium/ltr-light-table-controls-no-sticky-2-scrolled.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-table-controls-sticky-controls-1-top.png b/components/table/test/golden/table/chromium/ltr-light-table-controls-sticky-controls-1-top.png index 3fdde75fd38..d7b797c2390 100644 Binary files a/components/table/test/golden/table/chromium/ltr-light-table-controls-sticky-controls-1-top.png and b/components/table/test/golden/table/chromium/ltr-light-table-controls-sticky-controls-1-top.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-table-controls-sticky-controls-2-scrolled.png b/components/table/test/golden/table/chromium/ltr-light-table-controls-sticky-controls-2-scrolled.png index fbf80dcaa62..ec9ff65db2c 100644 Binary files a/components/table/test/golden/table/chromium/ltr-light-table-controls-sticky-controls-2-scrolled.png and b/components/table/test/golden/table/chromium/ltr-light-table-controls-sticky-controls-2-scrolled.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-table-controls-visible-background-1-top.png b/components/table/test/golden/table/chromium/ltr-light-table-controls-visible-background-1-top.png index 350c37c350a..cd3f570823c 100644 Binary files a/components/table/test/golden/table/chromium/ltr-light-table-controls-visible-background-1-top.png and b/components/table/test/golden/table/chromium/ltr-light-table-controls-visible-background-1-top.png differ diff --git a/components/table/test/golden/table/chromium/ltr-light-table-controls-visible-background-2-scrolled.png b/components/table/test/golden/table/chromium/ltr-light-table-controls-visible-background-2-scrolled.png index 37b14aa36c1..6034ef32a02 100644 Binary files a/components/table/test/golden/table/chromium/ltr-light-table-controls-visible-background-2-scrolled.png and b/components/table/test/golden/table/chromium/ltr-light-table-controls-visible-background-2-scrolled.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-nonstick-col-sort-button-hover-focus.png b/components/table/test/golden/table/chromium/rtl-default-nonstick-col-sort-button-hover-focus.png new file mode 100644 index 00000000000..faf49be3468 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-default-nonstick-col-sort-button-hover-focus.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-nonstick-col-sort-button-hover.png b/components/table/test/golden/table/chromium/rtl-default-nonstick-col-sort-button-hover.png new file mode 100644 index 00000000000..a11c620b441 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-default-nonstick-col-sort-button-hover.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-nonstick-col-sort-button-icon-button-focus-first.png b/components/table/test/golden/table/chromium/rtl-default-nonstick-col-sort-button-icon-button-focus-first.png new file mode 100644 index 00000000000..8173a60b9ad Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-default-nonstick-col-sort-button-icon-button-focus-first.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-nonstick-col-sort-button-icon-button-focus-second.png b/components/table/test/golden/table/chromium/rtl-default-nonstick-col-sort-button-icon-button-focus-second.png new file mode 100644 index 00000000000..a3ea31000cc Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-default-nonstick-col-sort-button-icon-button-focus-second.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-nonstick-col-sort-button-icon-button.png b/components/table/test/golden/table/chromium/rtl-default-nonstick-col-sort-button-icon-button.png new file mode 100644 index 00000000000..f29bef16b8f Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-default-nonstick-col-sort-button-icon-button.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button-focus-first.png b/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button-focus-first.png new file mode 100644 index 00000000000..e3e1fe0dca3 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button-focus-first.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button-focus-second.png b/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button-focus-second.png new file mode 100644 index 00000000000..7702601a6cd Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button-focus-second.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button-hover-first.png b/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button-hover-first.png new file mode 100644 index 00000000000..2434ad22479 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button-hover-first.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button-hover-second.png b/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button-hover-second.png new file mode 100644 index 00000000000..828e2abee69 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button-hover-second.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button-wrap.png b/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button-wrap.png new file mode 100644 index 00000000000..bb077508118 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button-wrap.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button.png b/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button.png new file mode 100644 index 00000000000..7c992e3d359 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-default-nonstick-two-col-sort-button.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-nonstick-wrapper-component.png b/components/table/test/golden/table/chromium/rtl-default-nonstick-wrapper-component.png new file mode 100644 index 00000000000..34cf744852e Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-default-nonstick-wrapper-component.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-paging-table-with-paging.png b/components/table/test/golden/table/chromium/rtl-default-paging-table-with-paging.png index ae6fa94e8f4..546b8b3e496 100644 Binary files a/components/table/test/golden/table/chromium/rtl-default-paging-table-with-paging.png and b/components/table/test/golden/table/chromium/rtl-default-paging-table-with-paging.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-table-controls-all-sticky-1-top.png b/components/table/test/golden/table/chromium/rtl-default-table-controls-all-sticky-1-top.png index 55fe7ac46f5..75681a0bf6f 100644 Binary files a/components/table/test/golden/table/chromium/rtl-default-table-controls-all-sticky-1-top.png and b/components/table/test/golden/table/chromium/rtl-default-table-controls-all-sticky-1-top.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-table-controls-all-sticky-2-scrolled.png b/components/table/test/golden/table/chromium/rtl-default-table-controls-all-sticky-2-scrolled.png index d538457a972..0c3d5fa7231 100644 Binary files a/components/table/test/golden/table/chromium/rtl-default-table-controls-all-sticky-2-scrolled.png and b/components/table/test/golden/table/chromium/rtl-default-table-controls-all-sticky-2-scrolled.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-table-controls-no-sticky-1-top.png b/components/table/test/golden/table/chromium/rtl-default-table-controls-no-sticky-1-top.png index 514b20e923b..9ae1da7026e 100644 Binary files a/components/table/test/golden/table/chromium/rtl-default-table-controls-no-sticky-1-top.png and b/components/table/test/golden/table/chromium/rtl-default-table-controls-no-sticky-1-top.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-table-controls-no-sticky-2-scrolled.png b/components/table/test/golden/table/chromium/rtl-default-table-controls-no-sticky-2-scrolled.png index 8ea62d70e5f..c05f2a3d606 100644 Binary files a/components/table/test/golden/table/chromium/rtl-default-table-controls-no-sticky-2-scrolled.png and b/components/table/test/golden/table/chromium/rtl-default-table-controls-no-sticky-2-scrolled.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-table-controls-sticky-controls-1-top.png b/components/table/test/golden/table/chromium/rtl-default-table-controls-sticky-controls-1-top.png index 5229fe2d90e..d1d5999e6b3 100644 Binary files a/components/table/test/golden/table/chromium/rtl-default-table-controls-sticky-controls-1-top.png and b/components/table/test/golden/table/chromium/rtl-default-table-controls-sticky-controls-1-top.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-table-controls-sticky-controls-2-scrolled.png b/components/table/test/golden/table/chromium/rtl-default-table-controls-sticky-controls-2-scrolled.png index 4095a76159e..30f8b244489 100644 Binary files a/components/table/test/golden/table/chromium/rtl-default-table-controls-sticky-controls-2-scrolled.png and b/components/table/test/golden/table/chromium/rtl-default-table-controls-sticky-controls-2-scrolled.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-table-controls-visible-background-1-top.png b/components/table/test/golden/table/chromium/rtl-default-table-controls-visible-background-1-top.png index 22509af0d43..7829a4c14a2 100644 Binary files a/components/table/test/golden/table/chromium/rtl-default-table-controls-visible-background-1-top.png and b/components/table/test/golden/table/chromium/rtl-default-table-controls-visible-background-1-top.png differ diff --git a/components/table/test/golden/table/chromium/rtl-default-table-controls-visible-background-2-scrolled.png b/components/table/test/golden/table/chromium/rtl-default-table-controls-visible-background-2-scrolled.png index 03237a5cd2e..b63df2dc3f3 100644 Binary files a/components/table/test/golden/table/chromium/rtl-default-table-controls-visible-background-2-scrolled.png and b/components/table/test/golden/table/chromium/rtl-default-table-controls-visible-background-2-scrolled.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-nonstick-col-sort-button-hover-focus.png b/components/table/test/golden/table/chromium/rtl-light-nonstick-col-sort-button-hover-focus.png new file mode 100644 index 00000000000..0a94df8a5ca Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-light-nonstick-col-sort-button-hover-focus.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-nonstick-col-sort-button-hover.png b/components/table/test/golden/table/chromium/rtl-light-nonstick-col-sort-button-hover.png new file mode 100644 index 00000000000..8f17bda67e8 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-light-nonstick-col-sort-button-hover.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-nonstick-col-sort-button-icon-button-focus-first.png b/components/table/test/golden/table/chromium/rtl-light-nonstick-col-sort-button-icon-button-focus-first.png new file mode 100644 index 00000000000..dc9d111e216 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-light-nonstick-col-sort-button-icon-button-focus-first.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-nonstick-col-sort-button-icon-button-focus-second.png b/components/table/test/golden/table/chromium/rtl-light-nonstick-col-sort-button-icon-button-focus-second.png new file mode 100644 index 00000000000..7ceefb4c144 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-light-nonstick-col-sort-button-icon-button-focus-second.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-nonstick-col-sort-button-icon-button.png b/components/table/test/golden/table/chromium/rtl-light-nonstick-col-sort-button-icon-button.png new file mode 100644 index 00000000000..ac9eafffd64 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-light-nonstick-col-sort-button-icon-button.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button-focus-first.png b/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button-focus-first.png new file mode 100644 index 00000000000..e04c08a38f7 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button-focus-first.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button-focus-second.png b/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button-focus-second.png new file mode 100644 index 00000000000..e0bf55d4869 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button-focus-second.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button-hover-first.png b/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button-hover-first.png new file mode 100644 index 00000000000..12cfa738c83 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button-hover-first.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button-hover-second.png b/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button-hover-second.png new file mode 100644 index 00000000000..7bb1b348957 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button-hover-second.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button-wrap.png b/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button-wrap.png new file mode 100644 index 00000000000..6173962a0c8 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button-wrap.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button.png b/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button.png new file mode 100644 index 00000000000..a5ea2873533 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-light-nonstick-two-col-sort-button.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-nonstick-wrapper-component.png b/components/table/test/golden/table/chromium/rtl-light-nonstick-wrapper-component.png new file mode 100644 index 00000000000..f1e28721399 Binary files /dev/null and b/components/table/test/golden/table/chromium/rtl-light-nonstick-wrapper-component.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-paging-table-with-paging.png b/components/table/test/golden/table/chromium/rtl-light-paging-table-with-paging.png index cce9c4fb855..a5282fc2869 100644 Binary files a/components/table/test/golden/table/chromium/rtl-light-paging-table-with-paging.png and b/components/table/test/golden/table/chromium/rtl-light-paging-table-with-paging.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-table-controls-all-sticky-1-top.png b/components/table/test/golden/table/chromium/rtl-light-table-controls-all-sticky-1-top.png index bca78d79f43..681b1083113 100644 Binary files a/components/table/test/golden/table/chromium/rtl-light-table-controls-all-sticky-1-top.png and b/components/table/test/golden/table/chromium/rtl-light-table-controls-all-sticky-1-top.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-table-controls-all-sticky-2-scrolled.png b/components/table/test/golden/table/chromium/rtl-light-table-controls-all-sticky-2-scrolled.png index e26c912b5aa..098956dc047 100644 Binary files a/components/table/test/golden/table/chromium/rtl-light-table-controls-all-sticky-2-scrolled.png and b/components/table/test/golden/table/chromium/rtl-light-table-controls-all-sticky-2-scrolled.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-table-controls-no-sticky-1-top.png b/components/table/test/golden/table/chromium/rtl-light-table-controls-no-sticky-1-top.png index 32d97ba9188..c871db83f52 100644 Binary files a/components/table/test/golden/table/chromium/rtl-light-table-controls-no-sticky-1-top.png and b/components/table/test/golden/table/chromium/rtl-light-table-controls-no-sticky-1-top.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-table-controls-no-sticky-2-scrolled.png b/components/table/test/golden/table/chromium/rtl-light-table-controls-no-sticky-2-scrolled.png index df7d9d34a52..a1ab239388d 100644 Binary files a/components/table/test/golden/table/chromium/rtl-light-table-controls-no-sticky-2-scrolled.png and b/components/table/test/golden/table/chromium/rtl-light-table-controls-no-sticky-2-scrolled.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-table-controls-sticky-controls-1-top.png b/components/table/test/golden/table/chromium/rtl-light-table-controls-sticky-controls-1-top.png index 767b32cdd72..17691ba84cb 100644 Binary files a/components/table/test/golden/table/chromium/rtl-light-table-controls-sticky-controls-1-top.png and b/components/table/test/golden/table/chromium/rtl-light-table-controls-sticky-controls-1-top.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-table-controls-sticky-controls-2-scrolled.png b/components/table/test/golden/table/chromium/rtl-light-table-controls-sticky-controls-2-scrolled.png index 8df475be741..5294833d3a3 100644 Binary files a/components/table/test/golden/table/chromium/rtl-light-table-controls-sticky-controls-2-scrolled.png and b/components/table/test/golden/table/chromium/rtl-light-table-controls-sticky-controls-2-scrolled.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-table-controls-visible-background-1-top.png b/components/table/test/golden/table/chromium/rtl-light-table-controls-visible-background-1-top.png index acc8fcde9d0..9e8c3698ef1 100644 Binary files a/components/table/test/golden/table/chromium/rtl-light-table-controls-visible-background-1-top.png and b/components/table/test/golden/table/chromium/rtl-light-table-controls-visible-background-1-top.png differ diff --git a/components/table/test/golden/table/chromium/rtl-light-table-controls-visible-background-2-scrolled.png b/components/table/test/golden/table/chromium/rtl-light-table-controls-visible-background-2-scrolled.png index cef0ed9f842..820a4e1aa56 100644 Binary files a/components/table/test/golden/table/chromium/rtl-light-table-controls-visible-background-2-scrolled.png and b/components/table/test/golden/table/chromium/rtl-light-table-controls-visible-background-2-scrolled.png differ diff --git a/components/table/test/table.vdiff.js b/components/table/test/table.vdiff.js index d1207fb2cb2..e2742466f8c 100644 --- a/components/table/test/table.vdiff.js +++ b/components/table/test/table.vdiff.js @@ -1,8 +1,9 @@ import '../../inputs/input-number.js'; import '../../inputs/input-text.js'; +import '../../button/button-icon.js'; import '../demo/table-test.js'; import '../table-col-sort-button.js'; -import { defineCE, expect, fixture, focusElem, html, nextFrame } from '@brightspace-ui/testing'; +import { defineCE, expect, fixture, focusElem, hoverElem, html, nextFrame } from '@brightspace-ui/testing'; import { LitElement, nothing } from 'lit'; import { classMap } from 'lit/directives/class-map.js'; import { ifDefined } from 'lit/directives/if-defined.js'; @@ -27,6 +28,24 @@ function createSortableHeaderRow() { `; } +function createDoubleSortableHeaderRow(text) { + return html` + + Asc 1${text ?? 'Asc 2'} + Descending + No Sort + + `; +} +function createSortableButtonIconHeaderRow() { + return html` + + Ascending + Descending + No Sort + + `; +} function createFruitHeaderRows(opts) { const { selectable, headerAttribute, stickyAttribute, stickyClass, trClass } = { selectable: false, headerAttribute: false, stickyAttribute: false, ...opts }; return html` @@ -423,6 +442,108 @@ describe('table', () => { await focusElem(elem.shadowRoot.querySelector('d2l-table-col-sort-button')); await expect(elem).to.be.golden(); }); + + it('col-sort-button-hover', async() => { + const elem = await createTableFixture(html` + ${createSortableHeaderRow()} + ${createRows([1])} + `); + await hoverElem(elem.shadowRoot.querySelector('d2l-table-col-sort-button')); + await expect(elem).to.be.golden(); + }); + + it('col-sort-button-hover-focus', async() => { + const elem = await createTableFixture(html` + ${createSortableHeaderRow()} + ${createRows([1])} + `); + await hoverElem(elem.shadowRoot.querySelector('d2l-table-col-sort-button')); + await focusElem(elem.shadowRoot.querySelector('d2l-table-col-sort-button')); + await expect(elem).to.be.golden(); + }); + + it('two-col-sort-button', async() => { + const elem = await createTableFixture(html` + ${createDoubleSortableHeaderRow()} + ${createRows([1])} + `); + await expect(elem).to.be.golden(); + }); + + it('two-col-sort-button-wrap', async() => { + const elem = await createTableFixture(html` + ${createDoubleSortableHeaderRow('Ascending')} + ${createRows([1])} + `); + await expect(elem).to.be.golden(); + }); + + it('two-col-sort-button-focus-first', async() => { + const elem = await createTableFixture(html` + ${createDoubleSortableHeaderRow()} + ${createRows([1])} + `); + await focusElem(elem.shadowRoot.querySelector('d2l-table-col-sort-button')); + await expect(elem).to.be.golden(); + }); + + it('two-col-sort-button-hover-first', async() => { + const elem = await createTableFixture(html` + ${createDoubleSortableHeaderRow()} + ${createRows([1])} + `); + await hoverElem(elem.shadowRoot.querySelector('d2l-table-col-sort-button')); + await expect(elem).to.be.golden(); + }); + + it('two-col-sort-button-focus-second', async() => { + const elem = await createTableFixture(html` + ${createDoubleSortableHeaderRow()} + ${createRows([1])} + `); + await focusElem(elem.shadowRoot.querySelectorAll('d2l-table-col-sort-button')[1]); + await expect(elem).to.be.golden(); + }); + + it('two-col-sort-button-hover-second', async() => { + const elem = await createTableFixture(html` + ${createDoubleSortableHeaderRow()} + ${createRows([1])} + `); + await hoverElem(elem.shadowRoot.querySelectorAll('d2l-table-col-sort-button')[1]); + await expect(elem).to.be.golden(); + }); + + it('col-sort-button-icon-button', async() => { + const elem = await createTableFixture(html` + ${createSortableButtonIconHeaderRow()} + ${createRows([1])} + `); + await expect(elem).to.be.golden(); + }); + + it('col-sort-button-icon-button-focus-first', async() => { + const elem = await createTableFixture(html` + ${createSortableButtonIconHeaderRow()} + ${createRows([1])} + `); + await focusElem(elem.shadowRoot.querySelector('d2l-table-col-sort-button')); + await expect(elem).to.be.golden(); + }); + + it('col-sort-button-icon-button-focus-second', async() => { + const elem = await createTableFixture(html` + ${createSortableButtonIconHeaderRow()} + ${createRows([1])} + `); + await focusElem(elem.shadowRoot.querySelector('d2l-button-icon')); + await expect(elem).to.be.golden(); + }); + + it('wrapper component', async() => { + const elem = await fixture(html``, { rtl }); + await expect(elem).to.be.golden(); + }); }); // only test the default type to minimize permutations (hasStickyHeadersScrollWrapper isn't expected to have a different impact on the light vs default type)