Skip to content

Commit 1e8067b

Browse files
asyncLizcopybara-github
authored andcommitted
test: add classes to shared template props
This makes it easier to add classes in a render method. Also updates the TemplateBuilder type to not require a Harness (ex: card does not need one) PiperOrigin-RevId: 588110635
1 parent a0baa4d commit 1e8067b

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

testing/templates.ts

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

77
import {TemplateResult} from 'lit';
88
import {DirectiveResult} from 'lit/directive.js';
9+
import {ClassInfo} from 'lit/directives/class-map.js';
910
import {ref} from 'lit/directives/ref.js';
1011
import {literal, StaticValue} from 'lit/static-html.js';
1112

@@ -69,7 +70,7 @@ export enum State {
6970
* @template V Variant name types.
7071
*/
7172
export class TemplateBuilder<
72-
H extends Harness = never,
73+
H extends Harness = Harness,
7374
V extends string = never,
7475
> {
7576
/**
@@ -359,7 +360,7 @@ export type TemplateStateCallback<H extends Harness> = (
359360
*
360361
* @template H The harness type.
361362
*/
362-
export type TemplateProps<H extends Harness> = Partial<
363+
export type TemplateProps<H extends Harness = Harness> = Partial<
363364
Pick<HarnessElement<H>, Exclude<keyof HarnessElement<H>, keyof HTMLElement>>
364365
> &
365366
SharedTemplateProps;
@@ -372,4 +373,8 @@ export interface SharedTemplateProps {
372373
* The light DOM content of the element.
373374
*/
374375
content?: TemplateResult;
376+
/**
377+
* Classes to add to the element.
378+
*/
379+
classes?: ClassInfo;
375380
}

0 commit comments

Comments
 (0)