Skip to content

Commit b1172d8

Browse files
asynclizcopybara-github
authored andcommitted
fix(testing): use sys-color-* theming for dark mode tests
PiperOrigin-RevId: 540288116
1 parent 191b3d2 commit b1172d8

File tree

3 files changed

+30
-28
lines changed

3 files changed

+30
-28
lines changed

testing/table/lib/_test-table.scss

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,13 @@ $dark-theme: tokens.md-comp-test-table-values(
9090
border-color: var(--_outline-color);
9191
}
9292

93-
.md3-test-table--dark {
94-
$dark: tokens.md-sys-color-values-dark();
95-
96-
--_cell-color: #{map.get($dark, 'surface-container-lowest')};
97-
--_cell-text-color: #{map.get($dark, 'on-surface-container')};
98-
--_cell-grid-color: #{map.get($dark, 'surface-variant')};
99-
--_header-cell-color: #{map.get($dark, 'surface-variant')};
100-
--_header-cell-text-color: #{map.get($dark, 'on-surface-variant')};
101-
--_outline-color: #{map.get($dark, 'outline')};
93+
:host([dark]) {
94+
$dark: tokens.md-sys-color-values-dark(
95+
$exclude-custom-properties: true,
96+
);
97+
98+
@each $token, $value in $dark {
99+
--md-sys-color-#{$token}: #{$value};
100+
}
102101
}
103102
}

testing/table/lib/test-table.ts

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
import {LitElement, render, TemplateResult} from 'lit';
88
import {property} from 'lit/decorators.js';
9-
import {classMap} from 'lit/directives/class-map.js';
109
import {guard} from 'lit/directives/guard.js';
1110
import {html, literal} from 'lit/static-html.js';
1211

@@ -34,11 +33,11 @@ export class TestTable<S extends string = string> extends LitElement {
3433
@property() override title = 'Title';
3534
@property({type: Array}) states: S[] = [];
3635
@property({type: Array}) templates: Array<TestTableTemplate<S>> = [];
37-
@property({type: Boolean}) dark = false;
36+
@property({type: Boolean, reflect: true}) dark = false;
3837

3938
protected override render() {
4039
return html`
41-
<table class="md3-test-table ${classMap(this.getRenderClasses())}">
40+
<table class="md3-test-table">
4241
<thead>
4342
<tr>
4443
<th class="md3-test-table__header"></th>
@@ -55,12 +54,6 @@ export class TestTable<S extends string = string> extends LitElement {
5554
`;
5655
}
5756

58-
protected getRenderClasses() {
59-
return {
60-
'md3-test-table--dark': this.dark,
61-
};
62-
}
63-
6457
protected renderTemplates() {
6558
// Render templates in the light DOM for easier styling access
6659
render(

tokens/_md-sys-color.scss

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,18 @@ $_default-dark: (
1515
'md-ref-palette': md-ref-palette.values(),
1616
);
1717

18-
@function values-dark($deps: $_default-dark) {
18+
@function values-dark(
19+
$deps: $_default-dark,
20+
$exclude-custom-properties: false
21+
) {
1922
$tokens: md-sys-color.values-dark($deps);
2023

21-
// Create --md-sys-color-* custom properties
22-
@each $token, $value in $tokens {
23-
$var: var(--md-sys-color-#{$token}, #{$value});
24-
$tokens: map.set($tokens, $token, $var);
24+
@if not $exclude-custom-properties {
25+
// Create --md-sys-color-* custom properties
26+
@each $token, $value in $tokens {
27+
$var: var(--md-sys-color-#{$token}, #{$value});
28+
$tokens: map.set($tokens, $token, $var);
29+
}
2530
}
2631

2732
@return $tokens;
@@ -31,13 +36,18 @@ $_default-light: (
3136
'md-ref-palette': md-ref-palette.values(),
3237
);
3338

34-
@function values-light($deps: $_default-light) {
39+
@function values-light(
40+
$deps: $_default-light,
41+
$exclude-custom-properties: false
42+
) {
3543
$tokens: md-sys-color.values-light($deps);
3644

37-
// Create --md-sys-color-* custom properties
38-
@each $token, $value in $tokens {
39-
$var: var(--md-sys-color-#{$token}, #{$value});
40-
$tokens: map.set($tokens, $token, $var);
45+
@if not $exclude-custom-properties {
46+
// Create --md-sys-color-* custom properties
47+
@each $token, $value in $tokens {
48+
$var: var(--md-sys-color-#{$token}, #{$value});
49+
$tokens: map.set($tokens, $token, $var);
50+
}
4151
}
4252

4353
@return $tokens;

0 commit comments

Comments
 (0)