Skip to content

Commit 7ac0f33

Browse files
committed
docs: added more to the new quick guide section
1 parent 3ec3e2d commit 7ac0f33

File tree

5 files changed

+60
-11
lines changed

5 files changed

+60
-11
lines changed

packages/site/src/routes/+layout.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -241,8 +241,8 @@
241241
separator: true,
242242
},
243243
{
244-
name: 'Introduction',
245-
route: '/demo/introduction/',
244+
name: 'Quick Guide',
245+
route: '/demo/quick-guide/',
246246
indent: 0,
247247
},
248248
{
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
<svelte:head>
2-
<title>Introduction - SMUI</title>
2+
<title>Quick Guide - SMUI</title>
33
</svelte:head>
44

55
<section>
6-
<h2>Introduction</h2>
6+
<h2>Quick Guide</h2>
77
<p>
88
Some helpful guides for common use patterns in SMUI that are different than
99
standard Svelte.
1010
</p>
1111

1212
<Demo
1313
component={TargetingClasses}
14-
file="introduction/_TargetingClasses.svelte"
14+
file="quick-guide/_TargetingClasses.svelte"
1515
>
1616
Targeting Classes
1717
<svelte:fragment slot="subtitle">
@@ -22,19 +22,31 @@
2222

2323
<Demo
2424
component={EventsAndModifiers}
25-
file="introduction/_EventsAndModifiers.svelte"
25+
file="quick-guide/_EventsAndModifiers.svelte"
2626
>
2727
Events and Modifiers
2828
<svelte:fragment slot="subtitle">
2929
SMUI supports listening to <strong>all</strong> events. You can also use modifiers
3030
with the "$" syntax.
3131
</svelte:fragment>
3232
</Demo>
33+
34+
<Demo
35+
component={InnerElementProps}
36+
file="quick-guide/_InnerElementProps.svelte"
37+
>
38+
Inner element props
39+
<svelte:fragment slot="subtitle">
40+
Many SMUI components have inner elements that can take props with a
41+
prefix, like "input$" or "icon$".
42+
</svelte:fragment>
43+
</Demo>
3344
</section>
3445

3546
<script lang="ts">
3647
import Demo from '$lib/Demo.svelte';
3748
38-
import TargetingClasses from '../introduction/_TargetingClasses.svelte';
39-
import EventsAndModifiers from '../introduction/_EventsAndModifiers.svelte';
49+
import TargetingClasses from './_TargetingClasses.svelte';
50+
import EventsAndModifiers from './_EventsAndModifiers.svelte';
51+
import InnerElementProps from './_InnerElementProps.svelte';
4052
</script>

packages/site/src/routes/demo/introduction/_EventsAndModifiers.svelte renamed to packages/site/src/routes/demo/quick-guide/_EventsAndModifiers.svelte

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
on:mousedown={addEvent}
55
on:mouseup={addEvent}
66
on:mouseover={addEvent}
7+
on:mousemove={addEvent}
78
on:mouseout={addEvent}
89
on:keypress={addEvent}
910
on:keydown={addEvent}
@@ -12,14 +13,18 @@
1213
on:blur={addEvent}
1314
on:animationstart={addEvent}
1415
on:animationend={addEvent}
16+
on:touchstart={addEvent}
17+
on:touchend={addEvent}
18+
on:touchmove={addEvent}
19+
on:touchcancel={addEvent}
1520
>
1621
<Label>This Button has Event Listeners</Label>
1722
</Button>
1823
</div>
1924

2025
<div class="event-output" bind:this={eventOutput}>
2126
{#each events as event}
22-
<p>Caught {event.type}</p>
27+
<p>Caught {event}</p>
2328
{:else}
2429
<p>No events yet.</p>
2530
{/each}
@@ -82,11 +87,22 @@
8287
8388
let eventOutput: HTMLDivElement;
8489
let eventPhaseOutput: HTMLDivElement;
85-
let events: Event[] = [];
90+
let events: string[] = [];
8691
let eventPhases: [Event, string][] = [];
8792
8893
function addEvent(event: Event) {
89-
events.push(event);
94+
if (
95+
events.length &&
96+
(events[events.length - 1] === event.type ||
97+
events[events.length - 1].startsWith(event.type))
98+
) {
99+
const current = parseInt(events[events.length - 1].replace(/\D/g, ''));
100+
events[events.length - 1] = `${event.type} ×${
101+
isNaN(current) ? 2 : current + 1
102+
}`;
103+
} else {
104+
events.push(event.type);
105+
}
90106
events = events;
91107
requestAnimationFrame(() => {
92108
eventOutput.scrollTop = eventOutput.scrollHeight;
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<div class="margins">
2+
<Textfield
3+
style="width: 100%; max-width: 300px;"
4+
helperLine$style="width: 100%; max-width: 300px;"
5+
input$autocomplete="name"
6+
input$name="name"
7+
bind:value
8+
label="Name"
9+
>
10+
<HelperText slot="helper"
11+
>This field should autocomplete with your name.</HelperText
12+
>
13+
</Textfield>
14+
</div>
15+
16+
<script lang="ts">
17+
import Textfield from '@smui/textfield';
18+
import HelperText from '@smui/textfield/helper-text';
19+
20+
let value = '';
21+
</script>

0 commit comments

Comments
 (0)