File tree Expand file tree Collapse file tree 5 files changed +60
-11
lines changed Expand file tree Collapse file tree 5 files changed +60
-11
lines changed Original file line number Diff line number Diff line change 241
241
separator: true ,
242
242
},
243
243
{
244
- name: ' Introduction ' ,
245
- route: ' /demo/introduction /' ,
244
+ name: ' Quick Guide ' ,
245
+ route: ' /demo/quick-guide /' ,
246
246
indent: 0 ,
247
247
},
248
248
{
Original file line number Diff line number Diff line change 1
1
<svelte:head >
2
- <title >Introduction - SMUI</title >
2
+ <title >Quick Guide - SMUI</title >
3
3
</svelte:head >
4
4
5
5
<section >
6
- <h2 >Introduction </h2 >
6
+ <h2 >Quick Guide </h2 >
7
7
<p >
8
8
Some helpful guides for common use patterns in SMUI that are different than
9
9
standard Svelte.
10
10
</p >
11
11
12
12
<Demo
13
13
component ={TargetingClasses }
14
- file =" introduction /_TargetingClasses.svelte"
14
+ file =" quick-guide /_TargetingClasses.svelte"
15
15
>
16
16
Targeting Classes
17
17
<svelte:fragment slot =" subtitle" >
22
22
23
23
<Demo
24
24
component ={EventsAndModifiers }
25
- file =" introduction /_EventsAndModifiers.svelte"
25
+ file =" quick-guide /_EventsAndModifiers.svelte"
26
26
>
27
27
Events and Modifiers
28
28
<svelte:fragment slot =" subtitle" >
29
29
SMUI supports listening to <strong >all</strong > events. You can also use modifiers
30
30
with the "$" syntax.
31
31
</svelte:fragment >
32
32
</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 >
33
44
</section >
34
45
35
46
<script lang =" ts" >
36
47
import Demo from ' $lib/Demo.svelte' ;
37
48
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' ;
40
52
</script >
Original file line number Diff line number Diff line change 4
4
on:mousedown ={addEvent }
5
5
on:mouseup ={addEvent }
6
6
on:mouseover ={addEvent }
7
+ on:mousemove ={addEvent }
7
8
on:mouseout ={addEvent }
8
9
on:keypress ={addEvent }
9
10
on:keydown ={addEvent }
12
13
on:blur ={addEvent }
13
14
on:animationstart ={addEvent }
14
15
on:animationend ={addEvent }
16
+ on:touchstart ={addEvent }
17
+ on:touchend ={addEvent }
18
+ on:touchmove ={addEvent }
19
+ on:touchcancel ={addEvent }
15
20
>
16
21
<Label >This Button has Event Listeners</Label >
17
22
</Button >
18
23
</div >
19
24
20
25
<div class ="event-output" bind:this ={eventOutput }>
21
26
{#each events as event }
22
- <p >Caught {event . type }</p >
27
+ <p >Caught {event }</p >
23
28
{:else }
24
29
<p >No events yet.</p >
25
30
{/each }
82
87
83
88
let eventOutput: HTMLDivElement ;
84
89
let eventPhaseOutput: HTMLDivElement ;
85
- let events: Event [] = [];
90
+ let events: string [] = [];
86
91
let eventPhases: [Event , string ][] = [];
87
92
88
93
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
+ }
90
106
events = events ;
91
107
requestAnimationFrame (() => {
92
108
eventOutput .scrollTop = eventOutput .scrollHeight ;
Original file line number Diff line number Diff line change
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 >
File renamed without changes.
You can’t perform that action at this time.
0 commit comments