-
-
Notifications
You must be signed in to change notification settings - Fork 286
/
Copy path_Fab.svelte
136 lines (122 loc) · 3.19 KB
/
_Fab.svelte
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<div>
<FormField>
<Checkbox bind:checked={secondaryColor} />
{#snippet label()}
Secondary
{/snippet}
</FormField>
</div>
<div class="flexy">
<div class="bottom-app-bar-container flexor">
<div class="flexor-content">
<h5>Centered FAB</h5>
<LoremIpsum />
<img
alt="Page content placeholder"
src="/page-content.jpg"
style="display: block; max-width: 100%; height: auto; margin: 1em auto;"
/>
</div>
<BottomAppBar
variant="static"
color={secondaryColor ? 'secondary' : 'primary'}
>
<Section>
<IconButton class="material-icons">menu</IconButton>
</Section>
<Section>
<Fab
aria-label="New item"
color={secondaryColor ? 'primary' : 'secondary'}
>
<Icon class="material-icons">add</Icon>
</Fab>
</Section>
<Section>
<IconButton class="material-icons" aria-label="Search"
>search</IconButton
>
<IconButton class="material-icons" aria-label="More"
>more_vert</IconButton
>
</Section>
</BottomAppBar>
</div>
<div class="bottom-app-bar-container flexor">
<div class="flexor-content">
<h5>Right FAB</h5>
<LoremIpsum />
<img
alt="Page content placeholder"
src="/page-content.jpg"
style="display: block; max-width: 100%; height: auto; margin: 1em auto;"
/>
</div>
<BottomAppBar
variant="static"
color={secondaryColor ? 'secondary' : 'primary'}
>
<Section>
<IconButton class="material-icons" aria-label="Archive"
>archive</IconButton
>
<IconButton class="material-icons" aria-label="Mark unread"
>mail</IconButton
>
<IconButton class="material-icons" aria-label="Label">label</IconButton>
<IconButton class="material-icons" aria-label="Trash">delete</IconButton
>
</Section>
<Section>
<Fab
aria-label="Reply"
color={secondaryColor ? 'primary' : 'secondary'}
>
<Icon class="material-icons">reply</Icon>
</Fab>
</Section>
</BottomAppBar>
</div>
</div>
<script lang="ts">
import BottomAppBar, { Section } from '@smui-extra/bottom-app-bar';
import IconButton from '@smui/icon-button';
import Fab, { Icon } from '@smui/fab';
import Checkbox from '@smui/checkbox';
import FormField from '@smui/form-field';
import LoremIpsum from '$lib/LoremIpsum.svelte';
let secondaryColor = $state(false);
</script>
<style>
.bottom-app-bar-container {
max-width: 480px;
width: 100%;
height: 320px;
border: 1px solid
var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.1));
margin: 0 18px 18px 0;
background-color: var(--mdc-theme-background, #fff);
overflow: auto;
display: inline-block;
}
@media (max-width: 480px) {
.bottom-app-bar-container {
margin-right: 0;
}
}
.flexy {
display: flex;
flex-wrap: wrap;
}
.flexor {
overflow: hidden;
display: inline-flex;
flex-direction: column;
}
.flexor-content {
flex-basis: 0;
height: 0;
flex-grow: 1;
overflow: auto;
}
</style>