Skip to content

Commit 31cbd48

Browse files
authored
Consolidate icons (#1302)
* WIP use masks for icons * more * unused * more * more * more * more * more * more * more * more * more * more * more * more * more * more * more * more * more * more * more consistent colours * more * tweak * optimise SVGs
1 parent f9fab98 commit 31cbd48

File tree

115 files changed

+223
-500
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+223
-500
lines changed

apps/svelte.dev/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
"do-not-zip": "^1.0.0",
4040
"flexsearch": "^0.7.43",
4141
"flru": "^1.0.2",
42+
"icons": "workspace:*",
4243
"port-authority": "^2.0.1",
4344
"topojson-client": "^3.1.0",
4445
"vitest": "^2.1.9",

apps/svelte.dev/src/lib/icons/arrow-left.svg

Lines changed: 0 additions & 11 deletions
This file was deleted.

apps/svelte.dev/src/lib/icons/bluesky-dark.svg

Lines changed: 0 additions & 3 deletions
This file was deleted.

apps/svelte.dev/src/lib/icons/chevron.svg

Lines changed: 0 additions & 3 deletions
This file was deleted.

apps/svelte.dev/src/lib/icons/contents.svg

Lines changed: 0 additions & 29 deletions
This file was deleted.

apps/svelte.dev/src/lib/icons/discord-dark.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

apps/svelte.dev/src/lib/icons/download-dark.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

apps/svelte.dev/src/lib/icons/download-light.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

apps/svelte.dev/src/lib/icons/external.svg

Lines changed: 0 additions & 3 deletions
This file was deleted.

apps/svelte.dev/src/lib/icons/file-dark.svg

Lines changed: 0 additions & 3 deletions
This file was deleted.

apps/svelte.dev/src/lib/icons/file-edit-inline-dark.svg

Lines changed: 0 additions & 3 deletions
This file was deleted.

apps/svelte.dev/src/lib/icons/file-edit.svg

Lines changed: 0 additions & 3 deletions
This file was deleted.

apps/svelte.dev/src/lib/icons/file.svg

Lines changed: 0 additions & 3 deletions
This file was deleted.

apps/svelte.dev/src/lib/icons/github-dark.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

apps/svelte.dev/src/lib/icons/lightbulb.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

apps/svelte.dev/src/lib/icons/terminal.svg

Lines changed: 0 additions & 7 deletions
This file was deleted.

apps/svelte.dev/src/lib/icons/user-dark.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

apps/svelte.dev/src/routes/(authed)/playground/[id]/AppControls.svelte

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -272,12 +272,15 @@
272272
273273
&.login {
274274
width: auto;
275-
background-image: url($lib/icons/user-light.svg);
276-
background-position: 0.4rem 50%;
277-
padding: 0 0.4rem 0 2.8rem;
278-
279-
:root.dark & {
280-
background-image: url($lib/icons/user-dark.svg);
275+
padding: 0 0.4rem;
276+
277+
&::before {
278+
content: '';
279+
width: 1.8rem;
280+
height: 1.8rem;
281+
margin: 0 0.5rem 0 0;
282+
background: currentColor;
283+
mask: url(icons/user) no-repeat 50% 50%;
281284
}
282285
}
283286
}

apps/svelte.dev/src/routes/_home/Video.svelte

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<script lang="ts">
2-
import volume_off from './volume-off.svg';
3-
import volume_high from './volume-high.svg';
4-
import cc_on from './cc-on.svg';
5-
import cc_off from './cc-off.svg';
6-
import play from './play.svg';
7-
import pause from './pause.svg';
2+
import volume_off from 'icons/volume-off';
3+
import volume_high from 'icons/volume-high';
4+
import cc_on from 'icons/cc-on';
5+
import cc_off from 'icons/cc-off';
6+
import play from 'icons/play';
7+
import pause from 'icons/pause';
88
import vtt from './subtitles.vtt';
99
import { onMount } from 'svelte';
1010

apps/svelte.dev/src/routes/_home/cc-off.svg

Lines changed: 0 additions & 22 deletions
This file was deleted.

apps/svelte.dev/src/routes/_home/cc-on.svg

Lines changed: 0 additions & 14 deletions
This file was deleted.

apps/svelte.dev/src/routes/_home/plus.svg

Lines changed: 0 additions & 11 deletions
This file was deleted.

apps/svelte.dev/src/routes/_home/up-small.svg

Lines changed: 0 additions & 11 deletions
This file was deleted.

apps/svelte.dev/src/routes/docs/+page.svelte

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,13 +150,24 @@
150150
}
151151
152152
h2 {
153+
position: relative;
153154
padding-right: 4rem;
154-
background: url(./arrow-right.svg) no-repeat 100% 50%;
155-
background-size: 3rem;
156155
157-
.external & {
158-
background-image: url(./external-link.svg);
159-
background-size: 3rem;
156+
&::after {
157+
content: '';
158+
position: absolute;
159+
width: 3rem;
160+
height: 3rem;
161+
top: 0.2rem;
162+
right: 0;
163+
164+
background: var(--sk-fg-accent);
165+
mask: url(icons/arrow-right) no-repeat 100% 50%;
166+
mask-size: 100%;
167+
}
168+
169+
.external &::after {
170+
mask-image: url(icons/external-link);
160171
}
161172
}
162173

apps/svelte.dev/src/routes/docs/[topic]/[...path]/OnThisPage.svelte

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
position: relative;
100100
display: flex;
101101
align-items: center;
102-
background: url($lib/icons/contents.svg) 0 50% no-repeat;
102+
background: url(icons/contents) 0 50% no-repeat;
103103
background-size: 2rem 2rem;
104104
padding: 0.2rem 0 0 3rem;
105105
height: 3rem;
@@ -133,11 +133,12 @@
133133
}
134134
135135
&::after {
136-
background: url($lib/icons/chevron.svg) 50% 50% no-repeat;
137-
background-size: 2rem;
136+
background: currentColor;
137+
mask: url(icons/chevron) 50% 50% no-repeat;
138+
mask-size: 2rem;
138139
top: 0.4rem;
139140
right: 0.2rem;
140-
rotate: 0deg;
141+
rotate: -90deg;
141142
transition: rotate 0.2s;
142143
transition: rotate 0.2s;
143144
}
@@ -161,7 +162,7 @@
161162
162163
label:has(:checked) {
163164
&::after {
164-
rotate: 180deg;
165+
rotate: 90deg;
165166
}
166167
167168
/* TODO remove :global once https://github.com/sveltejs/svelte/issues/13779 is fixed */

apps/svelte.dev/src/routes/search/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
border: none;
4747
border-radius: var(--sk-border-radius);
4848
padding: 2rem 2rem 2rem 5rem;
49-
background: no-repeat 1rem 50% / 3rem 3rem url(/icons/search.svg);
49+
background: no-repeat 1rem 50% / 3rem 3rem url(icons/search);
5050
color: var(--sk-fg-1);
5151
}
5252
</style>

apps/svelte.dev/src/routes/tutorial/[...slug]/Chrome.svelte

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,10 @@
5252

5353
<button
5454
disabled={loading || !toggle_terminal}
55-
class="terminal icon raised"
55+
class="terminal raised"
5656
onclick={() => toggle_terminal?.()}
57-
aria-label="toggle terminal"
58-
></button>
57+
aria-label="toggle terminal"><span class="icon"></span></button
58+
>
5959
</div>
6060

6161
<style>
@@ -88,23 +88,25 @@
8888
8989
.icon,
9090
.icon::after {
91-
position: relative;
9291
width: 3.2rem;
9392
aspect-ratio: 1;
9493
background-size: 1.8rem;
9594
}
9695
97-
.terminal {
98-
background-image: url($lib/icons/terminal.svg);
96+
.terminal .icon {
97+
background: currentColor;
98+
mask: url(icons/terminal) 50% 50% no-repeat;
99+
mask-size: 1.8rem;
99100
}
100101
101102
.reload::after {
102103
content: '';
103104
position: absolute;
104105
left: 0;
105106
top: 0;
106-
background: url($lib/icons/refresh.svg) no-repeat 50% 50%;
107-
background-size: 1.8rem;
107+
background: currentColor;
108+
mask: url(icons/refresh) no-repeat 50% 50%;
109+
mask-size: 1.8rem;
108110
transition: 0.2s ease-out;
109111
}
110112

apps/svelte.dev/src/routes/tutorial/[...slug]/Sidebar.svelte

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -122,26 +122,21 @@
122122
[data-file],
123123
.filename {
124124
cursor: pointer;
125-
background-image: url($lib/icons/file.svg);
126-
background-repeat: no-repeat;
127125
128-
:root.dark & {
129-
background-image: url($lib/icons/file-dark.svg);
126+
&::before {
127+
position: relative;
128+
content: '';
129+
display: inline-block;
130+
width: 1rem;
131+
height: 1rem;
132+
top: 0.1rem;
133+
margin-right: 0.5rem;
134+
background: currentColor;
135+
mask: url(icons/file) 50% 50% no-repeat;
136+
mask-size: 100%;
130137
}
131138
}
132139
133-
[data-file] {
134-
background-position: 0.5rem 50%;
135-
background-size: 1rem 1rem;
136-
padding-left: 2rem;
137-
}
138-
139-
.filename {
140-
background-position: 0 54%;
141-
background-size: 1rem 1rem;
142-
padding-left: 1.5rem !important;
143-
}
144-
145140
.desktop {
146141
display: none;
147142
}

apps/svelte.dev/src/routes/tutorial/[...slug]/filetree/File.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<script lang="ts">
22
import * as context from './context.js';
33
import Item from './Item.svelte';
4-
import file_icon from '$lib/icons/file.svg';
4+
import file_icon from 'icons/file';
55
import { solution } from '../state.svelte';
66
import type { MenuItem } from '$lib/tutorial';
77
import type { File } from '@sveltejs/repl/workspace';

apps/svelte.dev/src/routes/tutorial/[...slug]/filetree/Folder.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import * as context from './context.js';
55
import { get_depth } from '$lib/utils/path.js';
66
import Item from './Item.svelte';
7-
import folder_closed from '$lib/icons/folder.svg';
8-
import folder_open from '$lib/icons/folder-open.svg';
7+
import folder_closed from 'icons/folder';
8+
import folder_open from 'icons/folder-open';
99
import { solution } from '../state.svelte';
1010
import type { MenuItem } from '$lib/tutorial';
1111
import type { Directory, File as IFile, Item as IItem } from '@sveltejs/repl/workspace';

0 commit comments

Comments
 (0)