@1024pix/pix-ui 39.0.3 → 40.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/addon/common/add-dynamic-style-tag.js +8 -0
- package/addon/components/pix-filterable-and-searchable-select.hbs +11 -10
- package/addon/components/pix-filterable-and-searchable-select.js +30 -2
- package/addon/components/pix-multi-select.hbs +68 -64
- package/addon/components/pix-multi-select.js +9 -0
- package/addon/components/pix-select.hbs +6 -2
- package/addon/components/pix-select.js +13 -19
- package/addon/styles/_pix-filterable-and-searchable-select.scss +6 -1
- package/addon/styles/_pix-multi-select.scss +2 -2
- package/addon/styles/_pix-select.scss +4 -2
- package/addon/styles/addon.scss +1 -2
- package/app/stories/form.stories.js +0 -13
- package/app/stories/pix-multi-select.stories.js +13 -2
- package/app/stories/pix-select.stories.js +9 -0
- package/package.json +25 -20
- package/.buildpacks +0 -2
- package/.circleci/config.yml +0 -84
- package/.gitattributes +0 -7
- package/.nvmrc +0 -1
- package/.prettierrc.json +0 -12
- package/.storybook/logo.svg +0 -1
- package/.storybook/main.js +0 -10
- package/.storybook/manager.js +0 -6
- package/.storybook/preview.js +0 -39
- package/.storybook/storybook-custom-theme.js +0 -37
- package/.stylelintrc.json +0 -17
- package/CHANGELOG.md +0 -1373
- package/CNAME +0 -1
- package/addon/components/pix-dropdown.hbs +0 -101
- package/addon/components/pix-dropdown.js +0 -181
- package/addon/styles/_pix-dropdown.scss +0 -157
- package/app/components/pix-dropdown.js +0 -1
- package/app/stories/pix-dropdown.mdx +0 -57
- package/app/stories/pix-dropdown.stories.js +0 -193
- package/config/environment.js +0 -5
- package/docs/adr/0001-utiliser-les-balises-html-natives.md +0 -51
- package/docs/architecture.mdx +0 -106
- package/docs/assets/accessibility-storybook.png +0 -0
- package/docs/assets/screen-pix-storybook.png +0 -0
- package/docs/breaking-changes.mdx +0 -102
- package/docs/changelog.mdx +0 -6
- package/docs/colors-palette.mdx +0 -237
- package/docs/create-component.mdx +0 -112
- package/docs/design-system.mdx +0 -20
- package/docs/design-tokens.mdx +0 -72
- package/docs/good-practices-a11y.mdx +0 -43
- package/docs/good-practices-design.mdx +0 -62
- package/docs/good-practices-responsive.mdx +0 -51
- package/docs/good-practices-style-css.mdx +0 -40
- package/docs/good-practices-tests.mdx +0 -9
- package/docs/make-a-release.mdx +0 -45
- package/docs/pix-design-tokens-dev.mdx +0 -39
- package/docs/pull_request_template.md +0 -14
- package/docs/shadow.mdx +0 -25
- package/docs/spacing.mdx +0 -19
- package/docs/storybook.mdx +0 -45
- package/docs/test-component-without-release.mdx +0 -19
- package/docs/typography.mdx +0 -163
- package/docs/use-component.mdx +0 -90
- package/docs/use-install.mdx +0 -37
- package/scalingo.json +0 -17
- package/servers.conf.erb +0 -30
package/docs/design-tokens.mdx
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { Meta } from '@storybook/blocks';
|
|
2
|
-
|
|
3
|
-
<Meta title="Utiliser Pix UI/Design Tokens/ Utilisation" />
|
|
4
|
-
|
|
5
|
-
# Design Tokens
|
|
6
|
-
|
|
7
|
-
> Les design tokens contiennent plusieurs éléments de base de la charte graphique (les couleurs, la typographie, les icônes, etc.)
|
|
8
|
-
|
|
9
|
-
## Utiliser les classes, placeholders, mixins et variables dans vos fichiers scss
|
|
10
|
-
|
|
11
|
-
En ajoutant la dépendance dans votre application avec `npm install`, vous avez déjà accès aux classes, mais pour avoir accès aux placeholders, mixins et variables,
|
|
12
|
-
il faut ajouter le code ci-dessous dans le `new EmberApp()` de votre `ember-cli.build.js` qui se trouve à la racine du projet :
|
|
13
|
-
|
|
14
|
-
```js
|
|
15
|
-
sassOptions: {
|
|
16
|
-
includePaths: ['node_modules/@1024pix/pix-ui/addon/styles'],
|
|
17
|
-
},
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Par la suite vous aurez accès à toutes les variables des design tokens avec le `$`, par exemple `border: 1px solid $pix-primary;`.
|
|
21
|
-
|
|
22
|
-
Pour pouvoir utiliser les placeholders et mixins, il faudra importer les design tokens dans le fichier source :
|
|
23
|
-
|
|
24
|
-
```css
|
|
25
|
-
/* Fichier pix/orga/app/styles/app.scss */
|
|
26
|
-
@import 'pix-design-tokens';
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Puis les utiliser de cette manière :
|
|
30
|
-
|
|
31
|
-
```css
|
|
32
|
-
/* Fichier pix/orga/app/styles/authenticated/organization.scss */
|
|
33
|
-
.organization-title {
|
|
34
|
-
@extend %pix-title-m;
|
|
35
|
-
|
|
36
|
-
@include device-is('desktop') {
|
|
37
|
-
...
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Définir les alertes
|
|
43
|
-
|
|
44
|
-
Les couleurs pour définir un état d'une alerte ont été attribuées pour uniformiser le visuel sur toutes les applications.
|
|
45
|
-
|
|
46
|
-
### Success
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
Texte ou bordure : $pix-success-70
|
|
50
|
-
Background : $pix-success-5
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Warning
|
|
54
|
-
|
|
55
|
-
```
|
|
56
|
-
Texte ou bordure : $pix-warning-70
|
|
57
|
-
Background : $pix-warning-5
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Error
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
Texte ou bordure : $pix-error-70
|
|
64
|
-
Background : $pix-error-5
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### Information
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
Texte ou bordure : $pix-primary-70
|
|
71
|
-
Background : $pix-primary-5
|
|
72
|
-
```
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Meta } from '@storybook/blocks';
|
|
2
|
-
import accessibilityImage from './assets/accessibility-storybook.png';
|
|
3
|
-
|
|
4
|
-
<Meta title="Développement/Bonnes pratiques/Accessibilité" />
|
|
5
|
-
|
|
6
|
-
# Bonnes pratiques d'accessibilité
|
|
7
|
-
|
|
8
|
-
L'accessiblité est un enjeu important sur nos composants UI.
|
|
9
|
-
|
|
10
|
-
## S'assurer d'avoir un composant accessible
|
|
11
|
-
|
|
12
|
-
- Penser au contraste entre le fond et le texte de votre composant.
|
|
13
|
-
- La taille de la police ne peut pas être inférieure à `10px`.
|
|
14
|
-
- La navigation au clavier permet d'accéder à toutes les parties de votre composant `Tab pour aller à l'élément suivant, Entrée ou Espace pour valider, Maj+Tab pour revenir à l'élément précédent`.
|
|
15
|
-
- S'assurer que les éléments en focus suivent un ordre logique.
|
|
16
|
-
- Lancer un logiciel de lecture d'écran (VoiceOver pour Mac) et s'assurer que ce soit compréhensible pour l'utilisateur.
|
|
17
|
-
|
|
18
|
-
Exemples pour l'utilisation du lecteur d'écran :
|
|
19
|
-
|
|
20
|
-
- Est-ce que l’information est lu et est compréhensible ?
|
|
21
|
-
|
|
22
|
-
- Si l'information est obligatoire, est-ce signalé ?
|
|
23
|
-
|
|
24
|
-
- Est-ce que les champs à remplir sont bien accompagnés d’un label ?
|
|
25
|
-
|
|
26
|
-
- En cas d’erreur, est-ce que l’on prévient bien l'utilisateur pour corriger son erreur ?
|
|
27
|
-
|
|
28
|
-
Pour vous aider à créer un composant accessible :
|
|
29
|
-
|
|
30
|
-
- les channels Slack `#tech-a11y` (interne) et `#ext-hotline-accessibilité-pix-tanaguru` (externe avec Tanaguru) sont disponibles pour répondre à vos questions sur le sujet.
|
|
31
|
-
- Nos pratiques sur l'accessibilité [ici](https://github.com/1024pix/pix/blob/dev/docs/Accessibilite.md)
|
|
32
|
-
- Compte-rendu détaillé de notre atelier avec Tanaguru [ici](https://1024pix.atlassian.net/wiki/spaces/DEV/pages/2856288297/2021-05-27+-+Compte-rendu+Atelier+accessibilit+Tanaguru+les+devs)
|
|
33
|
-
- Checklist des recommandations WebAIM [ici](https://webaim.org/standards/wcag/checklist#sc2.4.4)
|
|
34
|
-
|
|
35
|
-
## Vérifier l'accessibilité d'un composant sur Storybook
|
|
36
|
-
|
|
37
|
-
Pour chaque composant, dans la partie 'Canvas', vous pouvez accéder à l'onglet 'Accessibility' qui donne un aperçu des règles d'accessibilité validées (Passes) ou non (Violations).
|
|
38
|
-
|
|
39
|
-
Il est possible de cliquer sur "More info..." pour connaître en détail ces règles.
|
|
40
|
-
|
|
41
|
-
<img src={accessibilityImage} alt="Accessibility in Storybook" />
|
|
42
|
-
|
|
43
|
-
Mais cela ne couvre pas à 100% les règles d'accessibilité.
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Meta } from '@storybook/blocks';
|
|
2
|
-
|
|
3
|
-
<Meta title="Développement/Bonnes pratiques/Design" />
|
|
4
|
-
|
|
5
|
-
# Bonnes pratiques design
|
|
6
|
-
|
|
7
|
-
## Nommage
|
|
8
|
-
|
|
9
|
-
- les **noms de branches** commencent par `pix-ui`.
|
|
10
|
-
|
|
11
|
-
- Les **noms des fichiers** suivent l'exemple de la pix-tooltip.
|
|
12
|
-
_Par exemple, pour les styles, on recomandera de rajouter `_` devant le nom du fichier pour indiquer que c'est un ["fichier partiel Sass"](https://sass-lang.com/guide#topic-4)._
|
|
13
|
-
|
|
14
|
-
- Les **noms des composants** commencent par `Pix` et sont écrit en _PascalCase_.
|
|
15
|
-
_Par exemple, un composant bouton devient : `PixButton`._
|
|
16
|
-
|
|
17
|
-
- Les **noms des propriétés des composants** sont écrit en _camelCase_.
|
|
18
|
-
|
|
19
|
-
```hbs
|
|
20
|
-
<PixSelect @options={{options}} @onChange={{onChange}} @selectedOption='1' />
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
- Les **noms des classes CSS** suivent la convention [BEM](https://github.com/1024pix/pix/blob/dev/docs/CSS.md).
|
|
24
|
-
|
|
25
|
-
```html
|
|
26
|
-
class='pix-tooltip__content'
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Intentions & Responsabilités
|
|
30
|
-
|
|
31
|
-
Il faut garder une **responsabilité unique** par composant.
|
|
32
|
-
|
|
33
|
-
- Un composant doit interagir uniquement dans son scope afin de ne pas devenir trop complexe et provoquer des effets de bord.
|
|
34
|
-
- Un composant trop complexe induit plusieurs paramètres ce qui rend donc son utilisation délicate.
|
|
35
|
-
|
|
36
|
-
Par exemple, si l'intention d'un composant est d'être un bouton (dans notre existant, _`PixButton`_) et qu'on le fait évoluer pour qu'il puisse devenir aussi un lien, il perd alors son intention d'origine (le nommage du composant _`PixButton`_ ne fait alors plus sens) et prend trop de responsabilités.
|
|
37
|
-
|
|
38
|
-
Il conviendra alors d'avoir un composant pour un bouton et un autre pour un lien.
|
|
39
|
-
|
|
40
|
-
## Breaking changes
|
|
41
|
-
|
|
42
|
-
Un breaking change implique un changement d'intention ou/et de responsabilités du composant. Il est nécessaire de l'indiquer dans la PR correspondante.
|
|
43
|
-
|
|
44
|
-
Exemple de PR : [Enrichir la Pix Tooltip - BREAKING CHANGES (Pix-2000).](https://github.com/1024pix/pix-ui/pull/68)
|
|
45
|
-
|
|
46
|
-
Lorsqu'une autre personne va mettre à jour Pix UI dans une application, il est important qu'elle **vérifie le bon fonctionnement et le bon affichage des composants impactés par ces changements**. Il faut lui faciliter au maximum cette tâche en indiquant clairement dans la description de la PR le ou les composants impactés et les vérifications à effectuer.
|
|
47
|
-
|
|
48
|
-
## Rétrocompatibilité / Deprecated
|
|
49
|
-
|
|
50
|
-
Il est aussi possible de signaler ces changements comme dépréciés :
|
|
51
|
-
|
|
52
|
-
- Ne pas supprimer le composant actuel mais l'indiquer comme déprécié afin qu'il soit toujours utilisable le temps de faire les modifications. À terme, l'élément déprécié sera supprimé dans une nouvelle version majeure de Pix UI.
|
|
53
|
-
|
|
54
|
-
Exemple d'un composant déprécié :
|
|
55
|
-
|
|
56
|
-
```hbs
|
|
57
|
-
<PixSelect>
|
|
58
|
-
<NewPixSelect @options={{options}} @onChange={{onChange}} @selectedOption='1' />
|
|
59
|
-
</PixSelect>
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Autres détails d'un breaking change sur la page [Installation](/?path=/docs/utiliser-pix-ui-installation--page).
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Meta } from '@storybook/blocks';
|
|
2
|
-
|
|
3
|
-
<Meta title="Développement/Bonnes pratiques/Responsive" />
|
|
4
|
-
|
|
5
|
-
# Bonnes pratiques responsive
|
|
6
|
-
|
|
7
|
-
La mise en place de composants responsive doit respecter les règles définies dans le Design System.
|
|
8
|
-
|
|
9
|
-
## Breakpoints
|
|
10
|
-
|
|
11
|
-
L'ensemble des breakpoints pour les différentes résolutions sont définis dans [le chapitre **Layout/Breakpoints** du Design System](https://zeroheight.com/8dd127da7/p/6877af-layout/t/47086b).
|
|
12
|
-
|
|
13
|
-
Ils sont décris dans le fichier `addon/styles/_breakpoints.scss` et utilisables via la mixin `device-is`
|
|
14
|
-
|
|
15
|
-
Par exemple, ici le style s'applique si on a moins la largeure d'une tablette.
|
|
16
|
-
|
|
17
|
-
```scss
|
|
18
|
-
@include device-is('tablet') {
|
|
19
|
-
padding: 32px 58px;
|
|
20
|
-
font-size: 0.875rem;
|
|
21
|
-
}
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Le différents devices disponibles sont :
|
|
25
|
-
|
|
26
|
-
- `mobile`
|
|
27
|
-
- `tablet`
|
|
28
|
-
- `desktop`
|
|
29
|
-
- `large-screen`
|
|
30
|
-
|
|
31
|
-
## Mobile first
|
|
32
|
-
|
|
33
|
-
Le développement des composants doit être pensé et développé pour mobile puis adapté à des résolutions et devices supérieurs par la suite.
|
|
34
|
-
|
|
35
|
-
```scss
|
|
36
|
-
.my-class {
|
|
37
|
-
width: 100px; // Sur mobile par défaut
|
|
38
|
-
|
|
39
|
-
@include device-is('tablet') {
|
|
40
|
-
width: 200px; // Sur tablette
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
@include device-is('desktop') {
|
|
44
|
-
width: 300px; // Sur desktop
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
@include device-is('large-screen') {
|
|
48
|
-
width: 400px; // Sur écran large
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
```
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Meta } from '@storybook/blocks';
|
|
2
|
-
|
|
3
|
-
<Meta title="Développement/Bonnes pratiques/Style CSS" />
|
|
4
|
-
|
|
5
|
-
# Style CSS / SCSS
|
|
6
|
-
|
|
7
|
-
## Arborescence
|
|
8
|
-
|
|
9
|
-
- Les variables se trouvent dans leur fichier scss respectif: `_breakpoints.scss`, `_colors.scss`, `_fonts.scss`.
|
|
10
|
-
- Chaque composant a son fichier scss qui sont importés dans `addon/styles/addon.scss`.
|
|
11
|
-
|
|
12
|
-
```javascript
|
|
13
|
-
@import 'pix-tooltip';
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Rendre surchargeable le SCSS
|
|
17
|
-
|
|
18
|
-
Passer `...attributes` au composant.
|
|
19
|
-
|
|
20
|
-
```html
|
|
21
|
-
<div class="pix-background-header" ...attributes></div>
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Convention BEM
|
|
25
|
-
|
|
26
|
-
Nos classes suivent la convention [BEM](https://github.com/1024pix/pix/blob/dev/docs/CSS.md).
|
|
27
|
-
|
|
28
|
-
```javascript
|
|
29
|
-
class='pix-tooltip__content'
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## rem, spacing...
|
|
33
|
-
|
|
34
|
-
Il est recommandé d'utiliser le `rem` plutot que `px`.
|
|
35
|
-
1rem = 16px
|
|
36
|
-
|
|
37
|
-
Concernant les niveaux de textes, se référer a ZeroHeight [ici](https://zeroheight.com/8dd127da7/p/20e4df-typographie/b/974231).
|
|
38
|
-
|
|
39
|
-
Utiliser les **variables Sass** déjà existantes.
|
|
40
|
-
_Par exemple, vérifier dans les fichiers `_fonts.scss` et `_colors.scss`. Si elles n'existent pas, les rajouter au bon endroit._
|
package/docs/make-a-release.mdx
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { Meta } from '@storybook/blocks';
|
|
2
|
-
|
|
3
|
-
<Meta title="Développement/Faire une release" />
|
|
4
|
-
|
|
5
|
-
# Faire une release
|
|
6
|
-
|
|
7
|
-
## C'est quoi une release ?
|
|
8
|
-
|
|
9
|
-
Une release est la publication d'un nouvelle version du projet.
|
|
10
|
-
|
|
11
|
-
Autrement dit, on crée un tag git pour nommer cette version. Les nouveautés embarquées par cette version sont donc
|
|
12
|
-
uniquement celles déjà présentes sur `dev` au moment de la release.
|
|
13
|
-
|
|
14
|
-
Les applications se servant de Pix UI pourront alors se mettre à jour et utiliser les nouveaux composants et des
|
|
15
|
-
dernières features en précisant le numéro de la version.
|
|
16
|
-
|
|
17
|
-
Par ailleurs, sur Pix UI une release signifie aussi la mise à jour automatique de [notre storybook en ligne](https://storybook.pix.fr/).
|
|
18
|
-
|
|
19
|
-
## Effectuer la release via slack
|
|
20
|
-
|
|
21
|
-
Aller dans le canal slack dédié aux releases : [#tech-releases](https://1024pix.slack.com/archives/CVAMDQYHY), puis taper la commande suivante :
|
|
22
|
-
|
|
23
|
-
- `/publish-pix-ui <version_souhaitée>`
|
|
24
|
-
`<version_souhaitée>` peut prendre 3 valeurs :
|
|
25
|
-
- `patch` : correctif de bug
|
|
26
|
-
- `minor` : modifications n'apportant pas de changement dans l'utilisation de Pix UI
|
|
27
|
-
- `major` : modifications apportant des breaking changes
|
|
28
|
-
|
|
29
|
-
Vous devriez voir apparaître dans le canal un premier message (visible uniquement par vous) de Pix-bot vous indiquant
|
|
30
|
-
que la demande de déploiement pour Pix UI a bien été prise en compte.
|
|
31
|
-
|
|
32
|
-
Ensuite, Pix-Bot vous confirmera à nouveau via deux messages (un privé et un public) du bon déploiement de Pix UI en
|
|
33
|
-
indiquant le numéro de sa nouvelle version.
|
|
34
|
-
|
|
35
|
-
Et voilà 🎉
|
|
36
|
-
|
|
37
|
-
Si vous souhaitez suivre le déroulement de la release, consulter les [logs](https://github.com/1024pix/pix-ui/actions/workflows/deploy-storybook.yml)
|
|
38
|
-
de la GitHub action `Deploy Pix UI Storybook`.
|
|
39
|
-
|
|
40
|
-
## Constater le bon fonctionnement de la release
|
|
41
|
-
|
|
42
|
-
Pour vérifier si la release s'est bien déroulée :
|
|
43
|
-
|
|
44
|
-
- vérifier le contenu du [CHANGELOG.md](../CHANGELOG.md) : contient-il toutes les PR qui ont été mergées récemment sur la branche `dev` ?
|
|
45
|
-
- vérifier si notre [Storybook en ligne](https://1024pix.github.io/pix-ui/) montre bien les nouveaux composants.
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Meta } from '@storybook/blocks';
|
|
2
|
-
|
|
3
|
-
<Meta title="Développement/Pix Design Tokens" />
|
|
4
|
-
|
|
5
|
-
# Design Tokens
|
|
6
|
-
|
|
7
|
-
> Les design tokens contiennent plusieurs éléments de base de la charte graphique (les couleurs, la typographie, les icones, etc.)
|
|
8
|
-
|
|
9
|
-
## Rajouter des design tokens dans Pix UI
|
|
10
|
-
|
|
11
|
-
Quand vous êtes amenés à ajouter ou à modifier des éléments des design tokens, faites le dans le scss associé,
|
|
12
|
-
par example `addon/styles/_typography.scss` ou `addon/styles/_colors.scss` et s'il n'est pas déjà importé, rajoutez l'import dans `addon/styles/design-tokens.scss`.
|
|
13
|
-
Ceci nous permettra d'utiliser les placeholders dans nos applications par la suite.
|
|
14
|
-
|
|
15
|
-
Le standard d'équipe est de créer un placeholder SCSS et une classe CSS préfixés par `pix-`.
|
|
16
|
-
|
|
17
|
-
Par exemple :
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
%pix-title-large {
|
|
21
|
-
font-family: $font-open-sans;
|
|
22
|
-
font-size: 2rem;
|
|
23
|
-
line-height: 1.25;
|
|
24
|
-
letter-spacing: -0.04em;
|
|
25
|
-
font-weight: 500;
|
|
26
|
-
|
|
27
|
-
@include device-is('tablet') {
|
|
28
|
-
font-size: 2.5rem;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
@include device-is('desktop') {
|
|
32
|
-
font-size: 3rem;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.pix-text {
|
|
37
|
-
@extend %pix-title-large;
|
|
38
|
-
}
|
|
39
|
-
```
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
## :boom: BREAKING_CHANGES
|
|
2
|
-
> _Décrivez ici les changements cassant (voir la doc associée)[https://github.com/1024pix/pix-ui/blob/dev/docs/breaking-changes.stories.mdx], s'il n'y en a pas indiquez le aussi.
|
|
3
|
-
|
|
4
|
-
## :christmas_tree: Problème
|
|
5
|
-
> _Décrivez ici le besoin ou l'intention couvert par cette Pull Request._
|
|
6
|
-
|
|
7
|
-
## :gift: Solution
|
|
8
|
-
> _Ajoutez à cet endroit, si nécessaire, des détails concernant la solution technique retenue et mise en oeuvre, des difficultés ou problèmes rencontrés._
|
|
9
|
-
|
|
10
|
-
## :star2: Remarques
|
|
11
|
-
> _Des infos supplémentaires, trucs et astuces ?_
|
|
12
|
-
|
|
13
|
-
## :santa: Pour tester
|
|
14
|
-
> _Les instructions pour reproduire le problème, les profils de test, le parcours spécifique à utiliser, etc._
|
package/docs/shadow.mdx
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Meta } from '@storybook/blocks';
|
|
2
|
-
|
|
3
|
-
<Meta title="Utiliser Pix UI/Design Tokens/Ombres" />
|
|
4
|
-
|
|
5
|
-
# Ombres
|
|
6
|
-
|
|
7
|
-
Pour uniformiser les ombres dans nos applications, on dispose de plusieurs classes CSS :
|
|
8
|
-
|
|
9
|
-
- `pix-shadow-xs`
|
|
10
|
-
- `pix-shadow-sm`
|
|
11
|
-
- `pix-shadow-md`
|
|
12
|
-
- `pix-shadow-lg`
|
|
13
|
-
- `pix-shadow-xl`
|
|
14
|
-
|
|
15
|
-
Et leur équivalent en placeholder SCSS :
|
|
16
|
-
|
|
17
|
-
- `@extend %pix-shadow-xs;`
|
|
18
|
-
- `@extend %pix-shadow-sm;`
|
|
19
|
-
- `@extend %pix-shadow-md;`
|
|
20
|
-
- `@extend %pix-shadow-lg;`
|
|
21
|
-
- `@extend %pix-shadow-xl;`
|
|
22
|
-
|
|
23
|
-
Code associé : https://github.com/1024pix/pix-ui/blob/dev/addon/styles/pix-design-tokens/_shadows.scss
|
|
24
|
-
|
|
25
|
-
Lien Figma : https://www.figma.com/file/8RJ3aCSfdeQ8AZZVBBYKS8/Design-System-Pix?node-id=54%3A5141
|
package/docs/spacing.mdx
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Meta } from '@storybook/blocks';
|
|
2
|
-
|
|
3
|
-
<Meta title="Utiliser Pix UI/Design Tokens/Espacements" />
|
|
4
|
-
|
|
5
|
-
# Espacements
|
|
6
|
-
|
|
7
|
-
Pour uniformiser les espacements dans nos applications, on dispose de plusieurs variables SCSS :
|
|
8
|
-
|
|
9
|
-
- `$pix-spacing-xxs`
|
|
10
|
-
- `$pix-spacing-xs`
|
|
11
|
-
- `$pix-spacing-s`
|
|
12
|
-
- `$pix-spacing-m`
|
|
13
|
-
- `$pix-spacing-l`
|
|
14
|
-
- `$pix-spacing-xl`
|
|
15
|
-
- `$pix-spacing-xxl`
|
|
16
|
-
|
|
17
|
-
Code associé : https://github.com/1024pix/pix-ui/blob/dev/addon/styles/pix-design-tokens/_spacing.scss
|
|
18
|
-
|
|
19
|
-
Lien Figma : https://www.figma.com/file/8RJ3aCSfdeQ8AZZVBBYKS8/Design-System-Pix?node-id=54%3A4595&t=8piOzYzdI0ala3i6-0
|
package/docs/storybook.mdx
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { Meta } from '@storybook/blocks';
|
|
2
|
-
|
|
3
|
-
<Meta title="Développement/Storybook" />
|
|
4
|
-
|
|
5
|
-
# Déploiement de Storybook
|
|
6
|
-
|
|
7
|
-
Notre Storybook est déployé à l'adresse suivante : https://storybook.pix.fr
|
|
8
|
-
|
|
9
|
-
## C'est quoi Storybook ?
|
|
10
|
-
|
|
11
|
-
[Storybook](https://storybook.js.org/) est un outil pour faire des interfaces présentant les composants UI d'un projet.
|
|
12
|
-
Par abus de langage, lorsque nous parlons de Storybook, nous parlons du site web crée grâce à cet outil.
|
|
13
|
-
|
|
14
|
-
## Qui héberge notre Storybook ?
|
|
15
|
-
|
|
16
|
-
Notre Storybook est hébergé de manière statique sur les [Github Pages](https://pages.github.com/).
|
|
17
|
-
|
|
18
|
-
## Quand est mis à jour notre Storybook ?
|
|
19
|
-
|
|
20
|
-
La mise à jour de ce site Storybook est faite automatiquement lors d'une release de Pix UI.
|
|
21
|
-
A noter qu'il faudra attendre quelques minutes après la fin de la release pour voir le changement.
|
|
22
|
-
|
|
23
|
-
## Quelle version de Storybook est mise en ligne ?
|
|
24
|
-
|
|
25
|
-
La version des composants présentée sur notre Storybook correspond (en temps normal) à la version des composants présents sur la branche `master`.
|
|
26
|
-
|
|
27
|
-
## Concrètement comment ça marche ?
|
|
28
|
-
|
|
29
|
-
Lors de la release de Pix UI, Pix Bot effectue la commande suivante depuis la branche `master`:
|
|
30
|
-
|
|
31
|
-
```shell
|
|
32
|
-
npm run deploy-storybook
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Cette commande fait appel à l'outil [storybook-deployer](https://github.com/storybookjs/storybook-deployer). Ce dernier effectue les actions suivantes :
|
|
36
|
-
|
|
37
|
-
- compiler Storybook comme une application statique
|
|
38
|
-
- commit et push le résultat précédent sur la branche `gh-pages`
|
|
39
|
-
|
|
40
|
-
_(Il est possible de customiser l'auteur ou le nom des commits, voir sur la [doc de storybook-deployer](https://github.com/storybookjs/storybook-deployer).)_
|
|
41
|
-
|
|
42
|
-
Le changement de la branche `gh-pages` est détecté par les Github Pages et la nouvelle version du site est re-déployée.
|
|
43
|
-
|
|
44
|
-
Pour changer la branche de déploiement ou l'url du site,
|
|
45
|
-
voir dans les [settings du repository de Pix UI](https://github.com/1024pix/pix-ui/settings), section Github Pages.
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Meta } from '@storybook/blocks';
|
|
2
|
-
|
|
3
|
-
<Meta title="Développement/Tester un composant en developpement dans une app" />
|
|
4
|
-
|
|
5
|
-
# Tester un composant en developpement dans une app
|
|
6
|
-
|
|
7
|
-
Il est possible de tester l'intégration d'un composant dans une application
|
|
8
|
-
Ember sans nécessairement créer une nouvelle release.
|
|
9
|
-
|
|
10
|
-
Pour cela, dans le repertoire de l'application Ember, installer Pix UI
|
|
11
|
-
en utilisant l'adresse du dépôt Github et le nom de la branche.
|
|
12
|
-
Par exemple :
|
|
13
|
-
|
|
14
|
-
```shell
|
|
15
|
-
npm install "git://github.com/1024pix/pix-ui#add-modal-component" --save-dev
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Une fois l'application Ember redémarrée, il sera possible d'accéder aux
|
|
19
|
-
composants Pix UI tels qu'ils sont dans la branche en cours de développement.
|
package/docs/typography.mdx
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import { Meta, Typeset, Markdown } from '@storybook/blocks';
|
|
2
|
-
|
|
3
|
-
<Meta title="Utiliser Pix UI/Design Tokens/Typographie" />
|
|
4
|
-
|
|
5
|
-
# Typographie
|
|
6
|
-
|
|
7
|
-
Cette page permet de connaître les typographies qui sont disponibles dans `Pix-UI`. [Figma](https://www.figma.com/file/8RJ3aCSfdeQ8AZZVBBYKS8/Design-System-Pix?node-id=24-8&t=Nuq9GxVknLW0Qsbc-0) reste la source de vérité du design system de Pix.
|
|
8
|
-
|
|
9
|
-
Ce que l'on nomme typographie dans ce contexte est un ensemble de 5 éléments :
|
|
10
|
-
|
|
11
|
-
- Police d'écriture `font-family`
|
|
12
|
-
- Taille de la police `font-size`
|
|
13
|
-
- Hauteur de ligne `line-height`
|
|
14
|
-
- Graisse `font-weight`
|
|
15
|
-
- Espacement des caractères `letter-spacing`
|
|
16
|
-
|
|
17
|
-
On met à disposition dans Pix UI des utilitaires pour simplifier l'usage.
|
|
18
|
-
|
|
19
|
-
## Utilisation via placeholder SCSS
|
|
20
|
-
|
|
21
|
-
Des **placeholder SCSS** équivalents aux tokens de Figma sont disponibles. C'est l'usage recommandé en priorité.
|
|
22
|
-
|
|
23
|
-
### Titres
|
|
24
|
-
|
|
25
|
-
<Typeset
|
|
26
|
-
fontSizes={[48]}
|
|
27
|
-
fontWeight={500}
|
|
28
|
-
sampleText={'@extend %pix-title-l;'}
|
|
29
|
-
fontFamily={'"Open Sans", Arial, sans-serif'}
|
|
30
|
-
/>
|
|
31
|
-
|
|
32
|
-
<Typeset
|
|
33
|
-
fontSizes={[36]}
|
|
34
|
-
fontWeight={500}
|
|
35
|
-
sampleText={'@extend %pix-title-m;'}
|
|
36
|
-
fontFamily={'"Open Sans", Arial, sans-serif'}
|
|
37
|
-
/>
|
|
38
|
-
|
|
39
|
-
<Typeset
|
|
40
|
-
fontSizes={[28]}
|
|
41
|
-
fontWeight={500}
|
|
42
|
-
sampleText={'@extend %pix-title-s;'}
|
|
43
|
-
fontFamily={'"Open Sans", Arial, sans-serif'}
|
|
44
|
-
/>
|
|
45
|
-
|
|
46
|
-
<Typeset
|
|
47
|
-
fontSizes={[20]}
|
|
48
|
-
fontWeight={500}
|
|
49
|
-
sampleText={'@extend %pix-title-xs;'}
|
|
50
|
-
fontFamily={'"Open Sans", Arial, sans-serif'}
|
|
51
|
-
/>
|
|
52
|
-
|
|
53
|
-
### Corps de texte
|
|
54
|
-
|
|
55
|
-
<Typeset
|
|
56
|
-
fontSizes={[18]}
|
|
57
|
-
fontWeight={400}
|
|
58
|
-
sampleText={'@extend %pix-body-l;'}
|
|
59
|
-
fontFamily={'Roboto, Arial, sans-serif'}
|
|
60
|
-
/>
|
|
61
|
-
|
|
62
|
-
<Typeset
|
|
63
|
-
fontSizes={[16]}
|
|
64
|
-
fontWeight={400}
|
|
65
|
-
sampleText={'@extend %pix-body-m;'}
|
|
66
|
-
fontFamily={'Roboto, Arial, sans-serif'}
|
|
67
|
-
/>
|
|
68
|
-
|
|
69
|
-
<Typeset
|
|
70
|
-
fontSizes={[14]}
|
|
71
|
-
fontWeight={400}
|
|
72
|
-
sampleText={'@extend %pix-body-s;'}
|
|
73
|
-
fontFamily={'Roboto, Arial, sans-serif'}
|
|
74
|
-
/>
|
|
75
|
-
|
|
76
|
-
<Typeset
|
|
77
|
-
fontSizes={[12]}
|
|
78
|
-
fontWeight={400}
|
|
79
|
-
sampleText={'@extend %pix-body-xs;'}
|
|
80
|
-
fontFamily={'Roboto, Arial, sans-serif'}
|
|
81
|
-
/>
|
|
82
|
-
|
|
83
|
-
### Comment utiliser un placeholder SCSS ?
|
|
84
|
-
|
|
85
|
-
```css
|
|
86
|
-
.card__title {
|
|
87
|
-
@extend %pix-title-m;
|
|
88
|
-
|
|
89
|
-
color: $pix-neutral-70;
|
|
90
|
-
}
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
Contrairement à l'utilisation de mixins, le CSS compilé ne sera que très peu surchargé. Il ressemblera à ceci :
|
|
94
|
-
|
|
95
|
-
```css
|
|
96
|
-
.pix-title-m,
|
|
97
|
-
.card__title {
|
|
98
|
-
font-family: 'Open Sans', Arial, sans-serif;
|
|
99
|
-
font-size: 2rem;
|
|
100
|
-
line-height: 1.25;
|
|
101
|
-
letter-spacing: -0.04em;
|
|
102
|
-
font-weight: 500;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
.card__title {
|
|
106
|
-
color: #344563;
|
|
107
|
-
}
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## Utilisation via classe CSS
|
|
111
|
-
|
|
112
|
-
Pour chaque placeholder SCSS, une **classe CSS** utilitaire de même nom existe :
|
|
113
|
-
|
|
114
|
-
- `pix-title-l`
|
|
115
|
-
- `pix-title-m`
|
|
116
|
-
- `pix-title-s`
|
|
117
|
-
- `pix-title-xs`
|
|
118
|
-
- `pix-body-l`
|
|
119
|
-
- `pix-body-m`
|
|
120
|
-
- `pix-body-s`
|
|
121
|
-
- `pix-body-xs`
|
|
122
|
-
|
|
123
|
-
## Design tokens
|
|
124
|
-
|
|
125
|
-
Des variables SCSS existent pour certaines propriétés de typographie.
|
|
126
|
-
|
|
127
|
-
### Font-weight
|
|
128
|
-
|
|
129
|
-
ℹ️ 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à.
|
|
130
|
-
|
|
131
|
-
`$font-normal: 400;`
|
|
132
|
-
|
|
133
|
-
`$font-medium: 500;`
|
|
134
|
-
|
|
135
|
-
`$font-bold: 700;`
|
|
136
|
-
|
|
137
|
-
### Font-family
|
|
138
|
-
|
|
139
|
-
ℹ️ 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/>
|
|
140
|
-
Pour en savoir plus, voir les classes utilitaires et les placeholders ci-dessus.
|
|
141
|
-
|
|
142
|
-
`$font-open-sans: 'Open Sans', Arial, sans-serif;`
|
|
143
|
-
|
|
144
|
-
`$font-roboto: 'Roboto', Arial, sans-serif;`
|
|
145
|
-
|
|
146
|
-
## Détails techniques
|
|
147
|
-
|
|
148
|
-
On utilise sur les applications Pix deux polices d'écriture :
|
|
149
|
-
|
|
150
|
-
- Open Sans pour les titres
|
|
151
|
-
- Roboto pour les corps
|
|
152
|
-
|
|
153
|
-
Selon qu'on utilise un smartphone, une tablette ou un ordinateur de bureau on peut se placer plus ou moins proche de l'écran.
|
|
154
|
-
Aussi, le choix de design a été fait de faire varier les typographies en fonction de largeur du viewport de l'utilisateur.
|
|
155
|
-
|
|
156
|
-
Ce choix est abstrait par l'utilisation des classes CSS ou mixins citées plus haut.
|
|
157
|
-
|
|
158
|
-
Code associé :
|
|
159
|
-
|
|
160
|
-
- https://github.com/1024pix/pix-ui/blob/dev/addon/styles/pix-design-tokens/_fonts.scss
|
|
161
|
-
- https://github.com/1024pix/pix-ui/blob/dev/addon/styles/pix-design-tokens/_typography.scss
|
|
162
|
-
|
|
163
|
-
Lien Figma : https://www.figma.com/file/8RJ3aCSfdeQ8AZZVBBYKS8/Design-System-Pix?node-id=24%3A8
|