Skip to content

Commit 5e2261d

Browse files
committed
Smarter tag getter for my-heading
1 parent 29766b3 commit 5e2261d

File tree

2 files changed

+11
-31
lines changed

2 files changed

+11
-31
lines changed

packages/lit-dev-content/samples/examples/context-consume-provide/my-heading.js

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,11 @@ export class MyHeading extends LitElement {
88
_levelContext = new ContextConsumer(this, {context: levelContext});
99

1010
get _tag() {
11-
switch (this._levelContext.value?.level) {
12-
case 0:
13-
return literal`h1`;
14-
case 1:
15-
return literal`h2`;
16-
case 2:
17-
return literal`h3`;
18-
case 3:
19-
return literal`h4`;
20-
case 4:
21-
return literal`h5`;
22-
case 5:
23-
return literal`h6`;
24-
default:
25-
return literal`p`;
11+
const level = this._levelContext.value?.level;
12+
if (typeof level === 'number' && level >= 0 && level <= 5) {
13+
return unsafeStatic(`h${level}`);
14+
} else {
15+
return literal`p`;
2616
}
2717
}
2818

packages/lit-dev-content/samples/examples/context-consume-provide/my-heading.ts

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {LitElement} from 'lit';
2-
import {html, literal} from 'lit/static-html.js';
2+
import {html, literal, unsafeStatic} from 'lit/static-html.js';
33
import {customElement} from 'lit/decorators.js';
44
import {styleMap} from 'lit/directives/style-map.js';
55
import {consume} from '@lit/context';
@@ -12,21 +12,11 @@ export class MyHeading extends LitElement {
1212
private _level?: Level;
1313

1414
private get _tag() {
15-
switch (this._level?.level) {
16-
case 0:
17-
return literal`h1`;
18-
case 1:
19-
return literal`h2`;
20-
case 2:
21-
return literal`h3`;
22-
case 3:
23-
return literal`h4`;
24-
case 4:
25-
return literal`h5`;
26-
case 5:
27-
return literal`h6`;
28-
default:
29-
return literal`p`;
15+
const level = this._level?.level;
16+
if (typeof level === 'number' && level >= 0 && level <= 5) {
17+
return unsafeStatic(`h${level}`);
18+
} else {
19+
return literal`p`;
3020
}
3121
}
3222

0 commit comments

Comments
 (0)