-
Notifications
You must be signed in to change notification settings - Fork 186
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
123 changed files
with
2,491 additions
and
33 deletions.
There are no files selected for viewing
3 changes: 3 additions & 0 deletions
3
packages/lit-dev-content/samples/articles/lit-cheat-sheet/add-styles/index.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<script type="module" src="./my-element.js"></script> | ||
|
||
<my-element></my-element> |
18 changes: 18 additions & 0 deletions
18
packages/lit-dev-content/samples/articles/lit-cheat-sheet/add-styles/my-element.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
import { html, LitElement, css } from 'lit'; | ||
import { customElement } from 'lit/decorators.js'; | ||
|
||
@customElement('my-element') | ||
export class MyElement extends LitElement { | ||
render() { | ||
return html`<p>I'm blue</p><div>I'm red</div>`; | ||
} | ||
|
||
static styles = css` | ||
p { | ||
color: blue; | ||
} | ||
div { | ||
color: red; | ||
} | ||
`; | ||
} |
8 changes: 8 additions & 0 deletions
8
packages/lit-dev-content/samples/articles/lit-cheat-sheet/add-styles/project.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"extends": "/samples/v3-base.json", | ||
"files": { | ||
"my-element.ts": {}, | ||
"index.html": {} | ||
}, | ||
"previewHeight": "100px" | ||
} |
3 changes: 3 additions & 0 deletions
3
packages/lit-dev-content/samples/articles/lit-cheat-sheet/classes/index.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<script type="module" src="./my-element.js"></script> | ||
|
||
<my-element></my-element> |
29 changes: 29 additions & 0 deletions
29
packages/lit-dev-content/samples/articles/lit-cheat-sheet/classes/my-element.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
import { html, LitElement, css } from 'lit'; | ||
import { customElement, state } from 'lit/decorators.js'; | ||
import { classMap } from 'lit/directives/class-map.js'; | ||
|
||
@customElement('my-element') | ||
export class MyElement extends LitElement { | ||
@state() counter = 0 | ||
|
||
firstUpdated() { | ||
setInterval(() => this.counter += 1 , 1000); | ||
} | ||
|
||
render() { | ||
const classes = { | ||
red: this.counter % 2 === 0, | ||
blue: this.counter % 2 === 1 | ||
}; | ||
return html`<p class=${classMap(classes)}>Hello!</p>`; | ||
} | ||
|
||
static styles = css` | ||
.red { | ||
color: red; | ||
} | ||
.blue { | ||
color: blue; | ||
} | ||
`; | ||
} |
8 changes: 8 additions & 0 deletions
8
packages/lit-dev-content/samples/articles/lit-cheat-sheet/classes/project.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"extends": "/samples/v3-base.json", | ||
"files": { | ||
"my-element.ts": {}, | ||
"index.html": {} | ||
}, | ||
"previewHeight": "100px" | ||
} |
3 changes: 3 additions & 0 deletions
3
packages/lit-dev-content/samples/articles/lit-cheat-sheet/conditionals/index.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<script type="module" src="./my-element.js"></script> | ||
|
||
<my-element></my-element> |
26 changes: 26 additions & 0 deletions
26
packages/lit-dev-content/samples/articles/lit-cheat-sheet/conditionals/my-element.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
import { html, LitElement } from 'lit'; | ||
import { customElement, state } from 'lit/decorators.js'; | ||
|
||
@customElement('my-element') | ||
export class MyElement extends LitElement { | ||
@state() private someBoolean = false; | ||
|
||
render() { | ||
let someText = html`<p>Some text</p>`; | ||
|
||
if (this.someBoolean) { | ||
someText = html`<p>Some other text</p>`; | ||
} | ||
|
||
return html` | ||
<button | ||
@click=${() => {this.someBoolean = !this.someBoolean}}> | ||
Toggle template | ||
</button> | ||
<div>This is an inline ternary conditional</div> | ||
${this.someBoolean ? html`<p>Some other text</p>` : html`<p>Some text</p>`} | ||
<div>This is a variable conditional</div> | ||
${someText} | ||
`; | ||
} | ||
} |
8 changes: 8 additions & 0 deletions
8
packages/lit-dev-content/samples/articles/lit-cheat-sheet/conditionals/project.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"extends": "/samples/v3-base.json", | ||
"files": { | ||
"my-element.ts": {}, | ||
"index.html": {} | ||
}, | ||
"previewHeight": "200px" | ||
} |
24 changes: 24 additions & 0 deletions
24
packages/lit-dev-content/samples/articles/lit-cheat-sheet/css-shadow-parts/index.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
<script type="module" src="./my-element.js"></script> | ||
<style> | ||
.styled my-element::part(paragraph) { | ||
color: yellow; | ||
border-color: white; | ||
padding: 8px; | ||
margin: 2px; | ||
} | ||
|
||
.styled { | ||
background-color: black; | ||
} | ||
|
||
div { | ||
padding: 4px; | ||
} | ||
</style> | ||
|
||
<div class="styled"> | ||
<my-element></my-element> | ||
</div> | ||
<div> | ||
<my-element></my-element> | ||
</div> |
18 changes: 18 additions & 0 deletions
18
packages/lit-dev-content/samples/articles/lit-cheat-sheet/css-shadow-parts/my-element.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
import { html, LitElement, css } from 'lit'; | ||
import { customElement } from 'lit/decorators.js'; | ||
|
||
@customElement('my-element') | ||
export class MyElement extends LitElement { | ||
static styles = css` | ||
p { | ||
color: blue; | ||
border: 1px solid black; | ||
padding: 4px; | ||
margin-block: 4px; | ||
} | ||
`; | ||
|
||
render() { | ||
return html`<p part="paragraph">This is in a shadow root!</p>`; | ||
} | ||
} |
8 changes: 8 additions & 0 deletions
8
packages/lit-dev-content/samples/articles/lit-cheat-sheet/css-shadow-parts/project.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"extends": "/samples/v3-base.json", | ||
"files": { | ||
"my-element.ts": {}, | ||
"index.html": {} | ||
}, | ||
"previewHeight": "120px" | ||
} |
3 changes: 3 additions & 0 deletions
3
...es/lit-dev-content/samples/articles/lit-cheat-sheet/custom-attribute-converter/index.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<script type="module" src="./my-element.js"></script> | ||
|
||
<my-element array='1,"2",3,4,"5"'></my-element> |
33 changes: 33 additions & 0 deletions
33
...lit-dev-content/samples/articles/lit-cheat-sheet/custom-attribute-converter/my-element.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
import { html, LitElement } from 'lit'; | ||
import { customElement, property, state } from 'lit/decorators.js';import {ComplexAttributeConverter} from 'lit'; | ||
|
||
/** | ||
* Bidirectionally converts an array from an attribute to a property of the | ||
* following format: | ||
* | ||
* array-attribute='1, "2", 3' to [1, '2', 3] | ||
*/ | ||
export const arrayConverter: ComplexAttributeConverter<Array<unknown>> = { | ||
toAttribute: (array: Array<unknown>) => { | ||
return JSON.stringify(array).substring(1, JSON.stringify(array).length - 1); | ||
}, | ||
fromAttribute: (value: string) => { | ||
try { | ||
return JSON.parse(`[${value}]`); | ||
} catch { | ||
return []; | ||
} | ||
} | ||
}; | ||
|
||
@customElement('my-element') | ||
export class MyElement extends LitElement { | ||
@property({ converter: arrayConverter, reflect: true }) | ||
array: Array<number|string> = []; | ||
|
||
render() { | ||
return this.array.map((item) => | ||
html`<div>${typeof item}: ${item}</div>` | ||
); | ||
} | ||
} |
8 changes: 8 additions & 0 deletions
8
.../lit-dev-content/samples/articles/lit-cheat-sheet/custom-attribute-converter/project.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"extends": "/samples/v3-base.json", | ||
"files": { | ||
"my-element.ts": {}, | ||
"index.html": {} | ||
}, | ||
"previewHeight": "200px" | ||
} |
18 changes: 18 additions & 0 deletions
18
packages/lit-dev-content/samples/articles/lit-cheat-sheet/data-up/game-player.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
import { html, LitElement } from 'lit'; | ||
import { customElement } from 'lit/decorators.js'; | ||
|
||
export type ScoreEvent = CustomEvent<number>; | ||
|
||
@customElement('game-player') | ||
export class GamePlayer extends LitElement { | ||
render() { | ||
return html` | ||
<button @click=${() => this.handleScore(7)}>Touchdown!</button> | ||
<button @click=${() => this.handleScore(3)}>Field goal!</button> | ||
`; | ||
} | ||
|
||
handleScore(points: number) { | ||
this.dispatchEvent(new CustomEvent('score', { detail: points, bubbles: true })); | ||
} | ||
} |
3 changes: 3 additions & 0 deletions
3
packages/lit-dev-content/samples/articles/lit-cheat-sheet/data-up/index.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<script type="module" src="./score-board.js"></script> | ||
|
||
<score-board></score-board> |
9 changes: 9 additions & 0 deletions
9
packages/lit-dev-content/samples/articles/lit-cheat-sheet/data-up/project.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
{ | ||
"extends": "/samples/v3-base.json", | ||
"files": { | ||
"score-board.ts": {}, | ||
"game-player.ts": {}, | ||
"index.html": {} | ||
}, | ||
"previewHeight": "250px" | ||
} |
20 changes: 20 additions & 0 deletions
20
packages/lit-dev-content/samples/articles/lit-cheat-sheet/data-up/score-board.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
import { html, LitElement } from 'lit'; | ||
import { customElement, state } from 'lit/decorators.js'; | ||
import './game-player.js'; | ||
import type {ScoreEvent} from './game-player.js'; | ||
|
||
@customElement('score-board') | ||
export class ScoreBoard extends LitElement { | ||
@state() playerOneScore = 0; | ||
@state() playerTwoScore = 0; | ||
|
||
render() { | ||
return html` | ||
<h1>${this.playerOneScore} - ${this.playerTwoScore}</h1> | ||
<h2>Player 1</h2> | ||
<game-player @score=${(e: ScoreEvent) => this.playerOneScore += e.detail}></game-player> | ||
<h2>Player 2</h2> | ||
<game-player @score=${(e: ScoreEvent) => this.playerTwoScore += e.detail}></game-player> | ||
`; | ||
} | ||
} |
9 changes: 9 additions & 0 deletions
9
packages/lit-dev-content/samples/articles/lit-cheat-sheet/define/hello-world.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import { html, LitElement } from 'lit'; | ||
import { customElement } from 'lit/decorators.js'; | ||
|
||
@customElement('hello-world') | ||
export class HelloWorld extends LitElement { | ||
render() { | ||
return html`<p>Hello, world!</p>`; | ||
} | ||
} |
3 changes: 3 additions & 0 deletions
3
packages/lit-dev-content/samples/articles/lit-cheat-sheet/define/index.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<script type="module" src="./hello-world.js"></script> | ||
|
||
<hello-world></hello-world> |
8 changes: 8 additions & 0 deletions
8
packages/lit-dev-content/samples/articles/lit-cheat-sheet/define/project.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"extends": "/samples/v3-base.json", | ||
"files": { | ||
"hello-world.ts": {}, | ||
"index.html": {} | ||
}, | ||
"previewHeight": "100px" | ||
} |
3 changes: 3 additions & 0 deletions
3
packages/lit-dev-content/samples/articles/lit-cheat-sheet/dom-query/index.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<script type="module" src="./my-element.js"></script> | ||
|
||
<my-element></my-element> |
53 changes: 53 additions & 0 deletions
53
packages/lit-dev-content/samples/articles/lit-cheat-sheet/dom-query/my-element.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
import { html, LitElement, css } from 'lit'; | ||
import { customElement, state, query } from 'lit/decorators.js'; | ||
|
||
@customElement('my-element') | ||
export class MyElement extends LitElement { | ||
@state() private canvasText = 'Hello World!'; | ||
// You can use any querySelector selector | ||
@query('#canvasId') private canvasEl!: HTMLCanvasElement; | ||
|
||
render() { | ||
return html` | ||
<canvas id="canvasId"></canvas> | ||
<label> | ||
Enter text to draw in canvas: | ||
<input @input=${this.handleInput} .value=${this.canvasText}> | ||
</label> | ||
`; | ||
} | ||
|
||
private setCanvasText(text: string) { | ||
this.canvasText = text; | ||
// Access the canvas elemtnwith this.canvasEl | ||
const ctx = this.canvasEl.getContext("2d"); | ||
|
||
if (!ctx) { | ||
return; | ||
} | ||
|
||
ctx.clearRect(0, 0, this.canvasEl.width, this.canvasEl.height); | ||
ctx.font = "50px Arial"; | ||
ctx.fillText(this.canvasText,10,80); | ||
} | ||
|
||
private handleInput(event: Event) { | ||
this.setCanvasText((event.target as HTMLInputElement).value); | ||
} | ||
|
||
protected firstUpdated() { | ||
// DOM is typically ready for the first time by firstUpdated() | ||
this.setCanvasText(this.canvasText); | ||
} | ||
|
||
static styles = css` | ||
canvas { | ||
border: 1px solid black; | ||
} | ||
label { | ||
display: block; | ||
margin-block-start: 1em; | ||
} | ||
`; | ||
} |
8 changes: 8 additions & 0 deletions
8
packages/lit-dev-content/samples/articles/lit-cheat-sheet/dom-query/project.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"extends": "/samples/v3-base.json", | ||
"files": { | ||
"my-element.ts": {}, | ||
"index.html": {} | ||
}, | ||
"previewHeight": "230px" | ||
} |
3 changes: 3 additions & 0 deletions
3
packages/lit-dev-content/samples/articles/lit-cheat-sheet/event-listeners/index.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<script type="module" src="./my-element.js"></script> | ||
|
||
<my-element></my-element> |
Oops, something went wrong.