Skip to content

Commit 2c1a9ff

Browse files
committed
🍱(frontend) add material-symbols-outlined font
The design uses Material Symbols for icons. This commit adds the font to the project and updates the Icon component to be able to use it.
1 parent 31389bc commit 2c1a9ff

File tree

4 files changed

+23
-5
lines changed

4 files changed

+23
-5
lines changed

src/frontend/apps/impress/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
"@emoji-mart/data": "1.2.1",
3232
"@emoji-mart/react": "1.1.1",
3333
"@fontsource-variable/inter": "5.2.8",
34+
"@fontsource-variable/material-symbols-outlined": "5.2.25",
3435
"@fontsource/material-icons": "5.2.5",
3536
"@gouvfr-lasuite/integration": "1.0.3",
3637
"@gouvfr-lasuite/ui-kit": "0.16.1",

src/frontend/apps/impress/src/components/Icon.tsx

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,16 @@ import { css } from 'styled-components';
44
import { Text, TextType } from '@/components';
55

66
type IconProps = TextType & {
7+
disabled?: boolean;
78
iconName: string;
8-
variant?: 'filled' | 'outlined';
9+
variant?: 'filled' | 'outlined' | 'symbols-outlined';
910
};
1011
export const Icon = ({
12+
className,
1113
iconName,
14+
disabled,
1215
variant = 'outlined',
16+
$variation,
1317
...textProps
1418
}: IconProps) => {
1519
const hasLabel = 'aria-label' in textProps || 'aria-labelledby' in textProps;
@@ -18,12 +22,15 @@ export const Icon = ({
1822

1923
return (
2024
<Text
21-
{...textProps}
2225
aria-hidden={ariaHidden}
23-
className={clsx('--docs--icon-bg', textProps.className, {
26+
className={clsx('--docs--icon-bg', className, {
2427
'material-icons-filled': variant === 'filled',
2528
'material-icons': variant === 'outlined',
29+
'material-symbols-outlined': variant === 'symbols-outlined',
2630
})}
31+
$variation={disabled ? '300' : $variation}
32+
aria-disabled={disabled}
33+
{...textProps}
2734
>
2835
{iconName}
2936
</Text>

src/frontend/apps/impress/src/pages/globals.css

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
@import url('../cunningham/cunningham-style.css');
22
@import url('@fontsource/material-icons');
33
@import url('@fontsource/material-icons-outlined');
4+
@import url('@fontsource-variable/material-symbols-outlined');
45
@import url('@fontsource-variable/inter');
56
@import url('/assets/fonts/Marianne/Marianne-font.css');
67

@@ -47,13 +48,13 @@ main ::-webkit-scrollbar-thumb:hover,
4748
}
4849

4950
.material-icons,
50-
.material-icons-filled {
51+
.material-icons-filled,
52+
.material-symbols-outlined {
5153
font-family: 'Material Icons Outlined', 'Material Icons', sans-serif;
5254
font-weight: normal;
5355
font-style: normal;
5456
font-size: 24px; /* Preferred icon size */
5557
display: inline-block;
56-
line-height: 1;
5758
text-transform: none;
5859
letter-spacing: normal;
5960
overflow-wrap: normal;
@@ -77,6 +78,10 @@ main ::-webkit-scrollbar-thumb:hover,
7778
font-family: 'Material Icons', sans-serif;
7879
}
7980

81+
.material-symbols-outlined {
82+
font-family: 'Material Symbols Outlined Variable', sans-serif;
83+
}
84+
8085
[data-nextjs-dialog-overlay] {
8186
display: none !important;
8287
}

src/frontend/yarn.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1714,6 +1714,11 @@
17141714
resolved "https://registry.yarnpkg.com/@fontsource-variable/inter/-/inter-5.2.8.tgz#29b11476f5149f6a443b4df6516e26002d87941a"
17151715
integrity sha512-kOfP2D+ykbcX/P3IFnokOhVRNoTozo5/JxhAIVYLpea/UBmCQ/YWPBfWIDuBImXX/15KH+eKh4xpEUyS2sQQGQ==
17161716

1717+
"@fontsource-variable/[email protected]":
1718+
version "5.2.25"
1719+
resolved "https://registry.yarnpkg.com/@fontsource-variable/material-symbols-outlined/-/material-symbols-outlined-5.2.25.tgz#c2ec742ca9d890a408cb657c65ddc1a6da8f3085"
1720+
integrity sha512-SEUmtSiqxVpLcOd1S5tVCnTXy3I2PBm/dZH/rvpfEady6Ab+l+rwIqdbjEqb6NrggcX8usGJfGYpN9cY6QCuJg==
1721+
17171722
"@fontsource-variable/[email protected]":
17181723
version "5.2.5"
17191724
resolved "https://registry.yarnpkg.com/@fontsource-variable/roboto-flex/-/roboto-flex-5.2.5.tgz#38368ea754697c2fdf08df11b06e8b6d391ff4c1"

0 commit comments

Comments
 (0)