Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Remise à jour des typographies des titres (PIX-9969) #497

Merged
merged 1 commit into from
Nov 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions addon/styles/pix-design-tokens/_fonts.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
@font-face {
font-weight: 700;
font-family: 'Nunito';
font-style: normal;
src: url('../@1024pix/pix-ui/fonts/Nunito/Nunito-Bold.ttf');
}

/* @deprecated - use Nunito */
@font-face {
font-weight: 500;
font-family: 'Open Sans';
Expand Down Expand Up @@ -26,8 +34,15 @@
src: url('../@1024pix/pix-ui/fonts/Roboto/Roboto-Bold.ttf');
}

/* @deprecated - use Design Tokens */
$font-open-sans: 'Open Sans', Arial, sans-serif;
$font-roboto: 'Roboto', Arial, sans-serif;
$font-normal: 400;
$font-medium: 500;
$font-bold: 700;

:root {
--pix-font-normal: 400;
--pix-font-medium: 500;
--pix-font-bold: 700;
}
52 changes: 30 additions & 22 deletions addon/styles/pix-design-tokens/_typography.scss
Original file line number Diff line number Diff line change
Expand Up @@ -2,75 +2,83 @@

// Placeholder pour permettre l'utilisation dans une classe css si jamais le tag html a trop de classe
%-pix-title {
font-weight: 500;
font-family: $font-open-sans;
font-weight: 700;
font-family: 'Nunito', 'Arial', sans-serif;
}

%pix-title-l,
.pix-title-l {
@extend %-pix-title;

font-size: 2rem;
line-height: 1.25;
letter-spacing: -0.04em;
--font-size-title: 2rem;

font-size: var(--font-size-title);
line-height: 1.3;
letter-spacing: calc(-0.02 * var(--font-size-title));

@include device-is('tablet') {
font-size: 2.5rem;
--font-size-title: 2.5rem;
}

@include device-is('desktop') {
font-size: 3rem;
--font-size-title: 3rem;
}
}

%pix-title-m,
.pix-title-m {
@extend %-pix-title;

font-size: 1.625rem;
--font-size-title: 1.625rem;
--letter-spacing-title: -0.02;

font-size: var(--font-size-title);
line-height: 1.3;
letter-spacing: -0.02em;
letter-spacing: calc(var(--letter-spacing-title) * var(--font-size-title));

@include device-is('tablet') {
font-size: 2rem;
line-height: 1.25;
letter-spacing: -0.04em;
--font-size-title: 2rem;
}

@include device-is('desktop') {
font-size: 2.25rem;
--font-size-title: 2.25rem;
--letter-spacing-title: -0.01;
}
}

%pix-title-s,
.pix-title-s {
@extend %-pix-title;

font-size: 1.375rem;
--font-size-title: 1.375rem;

font-size: var(--font-size-title);
line-height: 1.3;
letter-spacing: -0.02em;
letter-spacing: calc(-0.01 * var(--font-size-title));

@include device-is('tablet') {
font-size: 1.5rem;
--font-size-title: 1.5rem;
}

@include device-is('desktop') {
font-size: 1.75rem;
--font-size-title: 1.75rem;
}
}

%pix-title-xs,
.pix-title-xs {
@extend %-pix-title;

font-size: 1.25rem;
--font-size-title: 1.25rem;

font-size: var(--font-size-title);
line-height: 1.4;
letter-spacing: -0.02em;
letter-spacing: calc(-0.01 * var(--font-size-title));
}

%-pix-body {
font-weight: 400;
font-family: $font-roboto;
font-family: 'Roboto', 'Arial', sans-serif;
}

%pix-body-l,
Expand Down Expand Up @@ -115,9 +123,9 @@
}

.pix-body-weight-medium {
font-weight: 500;
font-weight: var(--pix-font-medium);
}

.pix-body-weight-bold {
font-weight: 700;
font-weight: var(--pix-font-bold);
}
16 changes: 9 additions & 7 deletions docs/pix-design-tokens-dev.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,23 +17,25 @@ Le standard d'équipe est de créer un placeholder SCSS et une classe CSS préfi
Par exemple :

```
%pix-title-large {
font-family: $font-open-sans;
%pix-title-l {
font-family: Nunito, Arial, sans-serif;
font-size: 2rem;
line-height: 1.25;
letter-spacing: -0.04em;
font-weight: 500;
line-height: 1.3;
letter-spacing: -0.04rem;
font-weight: 700;

@include device-is('tablet') {
font-size: 2.5rem;
letter-spacing: -0.05rem;
}

@include device-is('desktop') {
font-size: 3rem;
letter-spacing: -0.06rem;
}
}

.pix-text {
@extend %pix-title-large;
.my-text {
@extend %pix-title-l;
}
```
46 changes: 23 additions & 23 deletions docs/typography.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,31 +23,31 @@ Des **placeholder SCSS** équivalents aux tokens de Figma sont disponibles. C'es
### Titres

<Typeset
fontSizes={[48]}
fontWeight={500}
fontSizes={['3rem']}
fontWeight={700}
sampleText={'@extend %pix-title-l;'}
fontFamily={'"Open Sans", Arial, sans-serif'}
fontFamily={'Nunito, Arial, sans-serif'}
/>

<Typeset
fontSizes={[36]}
fontWeight={500}
fontSizes={['2.25rem']}
fontWeight={700}
sampleText={'@extend %pix-title-m;'}
fontFamily={'"Open Sans", Arial, sans-serif'}
fontFamily={'Nunito, Arial, sans-serif'}
/>

<Typeset
fontSizes={[28]}
fontWeight={500}
fontSizes={['1.75rem']}
fontWeight={700}
sampleText={'@extend %pix-title-s;'}
fontFamily={'"Open Sans", Arial, sans-serif'}
fontFamily={'Nunito, Arial, sans-serif'}
/>

<Typeset
fontSizes={[20]}
fontWeight={500}
fontSizes={['1.25rem']}
fontWeight={700}
sampleText={'@extend %pix-title-xs;'}
fontFamily={'"Open Sans", Arial, sans-serif'}
fontFamily={'Nunito, Arial, sans-serif'}
/>

### Corps de texte
Expand Down Expand Up @@ -95,11 +95,11 @@ Contrairement à l'utilisation de mixins, le CSS compilé ne sera que très peu
```css
.pix-title-m,
.card__title {
font-family: 'Open Sans', Arial, sans-serif;
font-size: 2rem;
line-height: 1.25;
letter-spacing: -0.04em;
font-weight: 500;
font-family: Nunito, Arial, sans-serif;
font-size: 1.625rem;
line-height: 1.3;
letter-spacing: -0.01625rem;
font-weight: 700;
}

.card__title {
Expand Down Expand Up @@ -128,26 +128,26 @@ Des variables SCSS existent pour certaines propriétés de typographie.

ℹ️ Ces variables ne devraient pas être utilisées pour modifier la graisse d'un titre car les classes utilitaires et les placeholders ci-dessus s'en occupent déjà.

`$font-normal: 400;`
`--pix-font-normal: 400;`

`$font-medium: 500;`
`--pix-font-medium: 500;`

`$font-bold: 700;`
`--pix-font-bold: 700;`

### Font-family

ℹ️ Vous ne devriez pas avoir à les utiliser car elles vont de pair avec d'autres propriétés de typo (font-size, line-height, ...).<br/>
ℹ️ Ces variables sont dépréciées. Vous ne devez pas avoir à les utiliser car elles vont de pair avec d'autres propriétés de typo (font-size, line-height, ...).<br/>
Pour en savoir plus, voir les classes utilitaires et les placeholders ci-dessus.

`$font-open-sans: 'Open Sans', Arial, sans-serif;`
`$font-nunito: Nunito, Arial, sans-serif;`

`$font-roboto: 'Roboto', Arial, sans-serif;`

## Détails techniques

On utilise sur les applications Pix deux polices d'écriture :

- Open Sans pour les titres
- Nunito pour les titres
- Roboto pour les corps

Selon qu'on utilise un smartphone, une tablette ou un ordinateur de bureau on peut se placer plus ou moins proche de l'écran.
Expand Down
Binary file added public/fonts/Nunito/Nunito-Bold.ttf
Binary file not shown.