summaryrefslogtreecommitdiffstats
path: root/apps/web-shared/src/components/theme-switcher-icon.svelte
blob: 1531ab238e8494866e3201390c4a0aa851fd3fb5 (plain) (blame)
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
<script>
    export let show = false;
	export let selection = "";
</script>

<div class="ld-switch flex"
     data-theme-switcher-element>
    <button class="reset ld-switch-btn"
            on:click={() => show =!show}>
        <span class="sr-only">{selection}</span>
        <div class="ld-switch-btn__icon-wrapper ld-switch-btn__icon-wrapper--in"
             aria-hidden="true">
            {#if selection === "dark"}
                <svg class="icon ld-switch-btn__icon"
                     viewBox="0 0 20 20">
                    <title>dark</title>
                    <g fill="currentColor">
                        <path d="M11.964 3.284c.021.237.036.474.036.716a8 8 0 0 1-8 8c-.242 0-.479-.015-.716-.036a7 7 0 1 0 8.68-8.68z"
                              fill-opacity=".2"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"></path>
                        <path d="M7 4a.979.979 0 0 1-1-1 1 1 0 0 0-2 0 .979.979 0 0 1-1 1 1 1 0 0 0 0 2 .979.979 0 0 1 1 1 1 1 0 0 0 2 0 .979.979 0 0 1 1-1 1 1 0 0 0 0-2z"></path>
                    </g>
                </svg>
            {:else if selection === "light"}
                <svg class="icon ld-switch-btn__icon"
                     viewBox="0 0 20 20"><title>light</title>
                    <g fill="currentColor">
                        <circle cx="10"
                                cy="10"
                                r="4"
                                fill-opacity=".2"
                                stroke="currentColor"
                                stroke-linecap="round"
                                stroke-linejoin="round"
                                stroke-width="2"></circle>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M10 1v1.5"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M16.364 3.636l-1.061 1.061"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M19 10h-1.5"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M16.364 16.364l-1.061-1.061"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M10 19v-1.5"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M3.636 16.364l1.061-1.061"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M1 10h1.5"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M3.636 3.636l1.061 1.061"></path>
                    </g>
                </svg>
            {:else }
                <svg class="icon ld-switch-btn__icon"
                     viewBox="0 0 20 20"><title>light-auto</title>
                    <g fill="currentColor">
                        <path d="M10 14a4 4 0 1 1 3.465-6"
                              fill-opacity=".2"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M12 18l2.5-7h1l2.5 7"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M12.714 16h4.572"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M10 1v1.5"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M16.364 3.636l-1.061 1.061"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M3.636 16.364l1.061-1.061"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M1 10h1.5"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M3.636 3.636l1.061 1.061"></path>
                    </g>
                </svg>
            {/if}
        </div>

        <div class="ld-switch-btn__icon-wrapper js-ld-switch-icon"
             aria-hidden="true">
            {#if selection === "dark"}
                <svg class="icon ld-switch-btn__icon"
                     viewBox="0 0 20 20">
                    <title>dark</title>
                    <g fill="currentColor">
                        <path d="M11.964 3.284c.021.237.036.474.036.716a8 8 0 0 1-8 8c-.242 0-.479-.015-.716-.036a7 7 0 1 0 8.68-8.68z"
                              fill-opacity=".2"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"></path>
                        <path d="M7 4a.979.979 0 0 1-1-1 1 1 0 0 0-2 0 .979.979 0 0 1-1 1 1 1 0 0 0 0 2 .979.979 0 0 1 1 1 1 1 0 0 0 2 0 .979.979 0 0 1 1-1 1 1 0 0 0 0-2z"></path>
                    </g>
                </svg>
            {:else if selection === "light"}
                <svg class="icon ld-switch-btn__icon"
                     viewBox="0 0 20 20">
                    <title>light-auto</title>
                    <g fill="currentColor">
                        <path d="M10 14a4 4 0 1 1 3.465-6"
                              fill-opacity=".2"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M12 18l2.5-7h1l2.5 7"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M12.714 16h4.572"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M10 1v1.5"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M16.364 3.636l-1.061 1.061"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M3.636 16.364l1.061-1.061"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M1 10h1.5"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M3.636 3.636l1.061 1.061"></path>
                    </g>
                </svg>
            {:else }
                <svg class="icon ld-switch-btn__icon"
                     viewBox="0 0 20 20">
                    <title>dark-auto</title>
                    <g fill="currentColor">
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M12 18l2.5-7h1l2.5 7"></path>
                        <path fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"
                              d="M12.714 16h4.572"></path>
                        <path d="M12.146 10.159A2.5 2.5 0 0 1 14.5 8.5h1a2.5 2.5 0 0 1 1.412.441 7 7 0 0 0-4.948-5.657c.021.237.036.474.036.716a8 8 0 0 1-8 8c-.242 0-.479-.015-.716-.036a6.99 6.99 0 0 0 6.427 5.012z"
                              fill-opacity=".2"></path>
                        <path d="M16.71 8a7.015 7.015 0 0 0-4.746-4.716c.021.237.036.474.036.716a8 8 0 0 1-8 8c-.242 0-.479-.015-.716-.036A7.006 7.006 0 0 0 9 16.929"
                              fill="none"
                              stroke="currentColor"
                              stroke-linecap="round"
                              stroke-linejoin="round"
                              stroke-width="2"></path>
                        <path d="M7 4a.979.979 0 0 1-1-1 1 1 0 0 0-2 0 .979.979 0 0 1-1 1 1 1 0 0 0 0 2 .979.979 0 0 1 1 1 1 1 0 0 0 2 0 .979.979 0 0 1 1-1 1 1 0 0 0 0-2z"></path>
                    </g>
                </svg>
            {/if}
        </div>
    </button>
</div>