@1024pix/pix-ui 24.1.0 → 24.2.1
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/CHANGELOG.md +13 -0
- package/addon/components/pix-filterable-and-searchable-select.hbs +1 -0
- package/app/stories/form.stories.mdx +2 -4
- package/app/stories/pix-background-header.stories.mdx +3 -8
- package/app/stories/pix-banner.stories.js +9 -11
- package/app/stories/pix-banner.stories.mdx +9 -32
- package/app/stories/pix-block.stories.js +3 -2
- package/app/stories/pix-block.stories.mdx +1 -1
- package/app/stories/pix-button-link.stories.js +0 -2
- package/app/stories/pix-button-link.stories.mdx +7 -15
- package/app/stories/pix-button-upload.stories.js +2 -3
- package/app/stories/pix-button-upload.stories.mdx +4 -12
- package/app/stories/pix-button.stories.mdx +7 -9
- package/app/stories/pix-checkbox.stories.js +8 -10
- package/app/stories/pix-checkbox.stories.mdx +12 -13
- package/app/stories/pix-collapsible.stories.js +7 -3
- package/app/stories/pix-collapsible.stories.mdx +6 -12
- package/app/stories/pix-dropdown.stories.mdx +10 -14
- package/app/stories/pix-filter-banner.stories.js +1 -4
- package/app/stories/pix-filter-banner.stories.mdx +5 -9
- package/app/stories/pix-filterable-and-searchable-select.stories.js +1 -2
- package/app/stories/pix-filterable-and-searchable-select.stories.mdx +25 -25
- package/app/stories/pix-icon-button.stories.js +7 -5
- package/app/stories/pix-icon-button.stories.mdx +2 -6
- package/app/stories/pix-indicator-card.stories.js +2 -2
- package/app/stories/pix-indicator-card.stories.mdx +2 -1
- package/app/stories/pix-input-code.stories.mdx +7 -16
- package/app/stories/pix-input-password.stories.js +1 -8
- package/app/stories/pix-input-password.stories.mdx +12 -16
- package/app/stories/pix-input.stories.js +4 -10
- package/app/stories/pix-input.stories.mdx +14 -26
- package/app/stories/pix-message.stories.js +4 -3
- package/app/stories/pix-message.stories.mdx +4 -9
- package/app/stories/pix-modal.stories.js +0 -2
- package/app/stories/pix-modal.stories.mdx +2 -6
- package/app/stories/pix-multi-select.stories.mdx +24 -21
- package/app/stories/pix-pagination.stories.js +2 -1
- package/app/stories/pix-pagination.stories.mdx +19 -18
- package/app/stories/pix-progress-gauge.stories.js +2 -1
- package/app/stories/pix-progress-gauge.stories.mdx +6 -9
- package/app/stories/pix-radio-button.stories.js +0 -3
- package/app/stories/pix-radio-button.stories.mdx +7 -16
- package/app/stories/pix-return-to.stories.js +3 -3
- package/app/stories/pix-return-to.stories.mdx +4 -10
- package/app/stories/pix-search-input.stories.mdx +14 -22
- package/app/stories/pix-select.stories.mdx +26 -31
- package/app/stories/pix-selectable-tag.stories.mdx +10 -20
- package/app/stories/pix-sidebar.stories.js +0 -5
- package/app/stories/pix-sidebar.stories.mdx +2 -6
- package/app/stories/pix-stars.stories.js +12 -6
- package/app/stories/pix-stars.stories.mdx +3 -12
- package/app/stories/pix-tag.stories.js +21 -25
- package/app/stories/pix-tag.stories.mdx +5 -15
- package/app/stories/pix-textarea.stories.js +7 -12
- package/app/stories/pix-textarea.stories.mdx +8 -11
- package/app/stories/pix-toggle.stories.mdx +7 -11
- package/app/stories/pix-tooltip.stories.js +11 -14
- package/app/stories/pix-tooltip.stories.mdx +2 -7
- package/docs/architecture.stories.mdx +3 -3
- package/docs/breaking-changes.stories.mdx +16 -14
- package/docs/changelog.stories.mdx +1 -1
- package/docs/create-component.stories.mdx +31 -29
- package/docs/design-system.stories.mdx +2 -2
- package/docs/design-tokens.stories.mdx +6 -2
- package/docs/good-practices-a11y.stories.mdx +4 -9
- package/docs/good-practices-design.stories.mdx +11 -20
- package/docs/good-practices-responsive.stories.mdx +3 -3
- package/docs/good-practices-style-css.stories.mdx +10 -10
- package/docs/good-practices-tests.stories.mdx +2 -2
- package/docs/make-a-release.stories.mdx +16 -13
- package/docs/pix-design-tokens-dev.stories.mdx +1 -1
- package/docs/storybook.stories.mdx +4 -3
- package/docs/test-component-without-release.stories.mdx +1 -1
- package/docs/use-component.stories.mdx +7 -6
- package/docs/use-install.stories.mdx +6 -6
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Meta } from '@storybook/addon-docs
|
|
1
|
+
import { Meta } from '@storybook/addon-docs';
|
|
2
2
|
|
|
3
|
-
<Meta title=
|
|
3
|
+
<Meta title="Développement/Bonnes pratiques/Design" />
|
|
4
4
|
|
|
5
5
|
# Bonnes pratiques design
|
|
6
6
|
|
|
@@ -8,23 +8,16 @@ import { Meta } from '@storybook/addon-docs/blocks';
|
|
|
8
8
|
|
|
9
9
|
- les **noms de branches** commencent par `pix-ui`.
|
|
10
10
|
|
|
11
|
-
|
|
12
11
|
- Les **noms des fichiers** suivent l'exemple de la pix-tooltip.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
- Les **noms des composants** commencent par `Pix` et sont écrit en *PascalCase*.
|
|
17
|
-
*Par exemple, un composant bouton devient : `PixButton`.*
|
|
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)._
|
|
18
13
|
|
|
14
|
+
- Les **noms des composants** commencent par `Pix` et sont écrit en _PascalCase_.
|
|
15
|
+
_Par exemple, un composant bouton devient : `PixButton`._
|
|
19
16
|
|
|
20
|
-
- Les **noms des propriétés des composants** sont écrit en
|
|
17
|
+
- Les **noms des propriétés des composants** sont écrit en _camelCase_.
|
|
21
18
|
|
|
22
19
|
```hbs
|
|
23
|
-
<PixSelect
|
|
24
|
-
@options={{options}}
|
|
25
|
-
@onChange={{onChange}}
|
|
26
|
-
@selectedOption="1"
|
|
27
|
-
/>
|
|
20
|
+
<PixSelect @options={{options}} @onChange={{onChange}} @selectedOption='1' />
|
|
28
21
|
```
|
|
29
22
|
|
|
30
23
|
- Les **noms des classes CSS** suivent la convention [BEM](https://github.com/1024pix/pix/blob/dev/docs/CSS.md).
|
|
@@ -40,7 +33,7 @@ Il faut garder une **responsabilité unique** par composant.
|
|
|
40
33
|
- Un composant doit interagir uniquement dans son scope afin de ne pas devenir trop complexe et provoquer des effets de bord.
|
|
41
34
|
- Un composant trop complexe induit plusieurs paramètres ce qui rend donc son utilisation délicate.
|
|
42
35
|
|
|
43
|
-
Par exemple, si l'intention d'un composant est d'être un bouton (dans notre existant,
|
|
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.
|
|
44
37
|
|
|
45
38
|
Il conviendra alors d'avoir un composant pour un bouton et un autre pour un lien.
|
|
46
39
|
|
|
@@ -55,16 +48,14 @@ Lorsqu'une autre personne va mettre à jour Pix UI dans une application, il est
|
|
|
55
48
|
## Rétrocompatibilité / Deprecated
|
|
56
49
|
|
|
57
50
|
Il est aussi possible de signaler ces changements comme dépréciés :
|
|
51
|
+
|
|
58
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.
|
|
59
53
|
|
|
60
54
|
Exemple d'un composant déprécié :
|
|
55
|
+
|
|
61
56
|
```hbs
|
|
62
57
|
<PixSelect>
|
|
63
|
-
<NewPixSelect
|
|
64
|
-
@options={{options}}
|
|
65
|
-
@onChange={{onChange}}
|
|
66
|
-
@selectedOption="1"
|
|
67
|
-
/>
|
|
58
|
+
<NewPixSelect @options={{options}} @onChange={{onChange}} @selectedOption='1' />
|
|
68
59
|
</PixSelect>
|
|
69
60
|
```
|
|
70
61
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Meta } from '@storybook/addon-docs
|
|
1
|
+
import { Meta } from '@storybook/addon-docs';
|
|
2
2
|
|
|
3
|
-
<Meta title=
|
|
3
|
+
<Meta title="Développement/Bonnes pratiques/Responsive" />
|
|
4
4
|
|
|
5
5
|
# Bonnes pratiques responsive
|
|
6
6
|
|
|
@@ -14,7 +14,6 @@ Ils sont décris dans le fichier `addon/styles/_breakpoints.scss` et utilisables
|
|
|
14
14
|
|
|
15
15
|
Par exemple, ici le style s'applique si on a moins la largeure d'une tablette.
|
|
16
16
|
|
|
17
|
-
|
|
18
17
|
```scss
|
|
19
18
|
@include device-is('tablet') {
|
|
20
19
|
padding: 32px 58px;
|
|
@@ -23,6 +22,7 @@ Par exemple, ici le style s'applique si on a moins la largeure d'une tablette.
|
|
|
23
22
|
```
|
|
24
23
|
|
|
25
24
|
Le différents devices disponibles sont :
|
|
25
|
+
|
|
26
26
|
- `mobile`
|
|
27
27
|
- `tablet`
|
|
28
28
|
- `desktop`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Meta } from '@storybook/addon-docs
|
|
1
|
+
import { Meta } from '@storybook/addon-docs';
|
|
2
2
|
|
|
3
|
-
<Meta title=
|
|
3
|
+
<Meta title="Développement/Bonnes pratiques/Style CSS" />
|
|
4
4
|
|
|
5
5
|
# Style CSS / SCSS
|
|
6
6
|
|
|
@@ -9,25 +9,25 @@ import { Meta } from '@storybook/addon-docs/blocks';
|
|
|
9
9
|
- Les variables se trouvent dans leur fichier scss respectif: `_breakpoints.scss`, `_colors.scss`, `_fonts.scss`.
|
|
10
10
|
- Chaque composant a son fichier scss qui sont importés dans `addon/styles/addon.scss`.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
```javascript
|
|
13
13
|
@import 'pix-tooltip';
|
|
14
|
-
|
|
14
|
+
```
|
|
15
15
|
|
|
16
16
|
## Rendre surchargeable le SCSS
|
|
17
17
|
|
|
18
18
|
Passer `...attributes` au composant.
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
<div class="pix-background-header" ...attributes>
|
|
22
|
-
|
|
20
|
+
```html
|
|
21
|
+
<div class="pix-background-header" ...attributes></div>
|
|
22
|
+
```
|
|
23
23
|
|
|
24
24
|
## Convention BEM
|
|
25
25
|
|
|
26
26
|
Nos classes suivent la convention [BEM](https://github.com/1024pix/pix/blob/dev/docs/CSS.md).
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
```javascript
|
|
29
29
|
class='pix-tooltip__content'
|
|
30
|
-
|
|
30
|
+
```
|
|
31
31
|
|
|
32
32
|
## rem, spacing...
|
|
33
33
|
|
|
@@ -37,4 +37,4 @@ Il est recommandé d'utiliser le `rem` plutot que `px`.
|
|
|
37
37
|
Concernant les niveaux de textes, se référer a ZeroHeight [ici](https://zeroheight.com/8dd127da7/p/20e4df-typographie/b/974231).
|
|
38
38
|
|
|
39
39
|
Utiliser les **variables Sass** déjà existantes.
|
|
40
|
-
|
|
40
|
+
_Par exemple, vérifier dans les fichiers `_fonts.scss` et `_colors.scss`. Si elles n'existent pas, les rajouter au bon endroit._
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Meta } from '@storybook/addon-docs
|
|
1
|
+
import { Meta } from '@storybook/addon-docs';
|
|
2
2
|
|
|
3
|
-
<Meta title=
|
|
3
|
+
<Meta title="Développement/Faire une release" />
|
|
4
4
|
|
|
5
5
|
# Faire une release
|
|
6
6
|
|
|
@@ -19,11 +19,12 @@ Par ailleurs, sur Pix UI une release signifie aussi la mise à jour automatique
|
|
|
19
19
|
## Effectuer la release, méthode via slack (conseillée)
|
|
20
20
|
|
|
21
21
|
Aller dans le canal slack dédié aux releases : [#tech-releases](https://1024pix.slack.com/archives/CVAMDQYHY), puis taper la commande suivante :
|
|
22
|
+
|
|
22
23
|
- `/publish-pix-ui <version_souhaitée>`
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
|
27
28
|
|
|
28
29
|
Vous devriez voir apparaître dans le canal un premier message (visible uniquement par vous) de Pix-bot vous indiquant
|
|
29
30
|
que la demande de déploiement pour Pix UI a bien été prise en compte.
|
|
@@ -34,33 +35,35 @@ indiquant le numéro de sa nouvelle version.
|
|
|
34
35
|
Et voilà 🎉
|
|
35
36
|
|
|
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)
|
|
37
|
-
de la
|
|
38
|
+
de la GitHub action `Deploy Pix UI Storybook`.
|
|
38
39
|
|
|
39
40
|
## Constater le bon fonctionnement de la release
|
|
40
41
|
|
|
41
42
|
Pour vérifier si la release s'est bien déroulée :
|
|
43
|
+
|
|
42
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` ?
|
|
43
45
|
- vérifier si notre [Storybook en ligne](https://1024pix.github.io/pix-ui/) montre bien les nouveaux composants.
|
|
44
46
|
|
|
45
|
-
|
|
46
47
|
## Effectuer la release, méthode à la mano (déconseillée)
|
|
48
|
+
|
|
47
49
|
Après s'être mis à jour sur la branche dev, lancer le script de publication :
|
|
50
|
+
|
|
48
51
|
- `git checkout dev`
|
|
49
52
|
- `git pull`
|
|
50
53
|
- `./scripts/publish.sh <version_souhaitée>`
|
|
51
54
|
|
|
52
55
|
`<version_souhaitée>` peut prendre 3 valeurs :
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
|
|
57
|
+
- `patch` : correctif de bug
|
|
58
|
+
- `minor` : modifications n'apportant pas de changement dans l'utilisation de Pix UI
|
|
59
|
+
- `major` : modifications apportant des breaking changes
|
|
56
60
|
|
|
57
61
|
Pour plus d'informations au sujet de la version à choisir se référencer à [SemVer](https://semver.org/lang/fr/).
|
|
58
62
|
|
|
59
63
|
Le script de publication effectuera automatiquement les actions suivantes :
|
|
64
|
+
|
|
60
65
|
- mise à jour de la version du projet dans le `package.json`
|
|
61
66
|
- création d'un tag git correspondant à la nouvelle version
|
|
62
67
|
- mise à jour de la liste des changements dans le [CHANGELOG.md](../CHANGELOG.md)
|
|
63
68
|
- mise à jour de la branche `master` par rapport à `dev`
|
|
64
69
|
- re-[déploiement de storybook sur les GitHub Pages](/?path=/docs/développement-storybook--page)
|
|
65
|
-
|
|
66
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Meta } from '@storybook/addon-docs
|
|
1
|
+
import { Meta } from '@storybook/addon-docs';
|
|
2
2
|
|
|
3
|
-
<Meta title=
|
|
3
|
+
<Meta title="Développement/Storybook" />
|
|
4
4
|
|
|
5
5
|
# Déploiement de Storybook
|
|
6
6
|
|
|
@@ -33,10 +33,11 @@ npm run deploy-storybook
|
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
Cette commande fait appel à l'outil [storybook-deployer](https://github.com/storybookjs/storybook-deployer). Ce dernier effectue les actions suivantes :
|
|
36
|
+
|
|
36
37
|
- compiler Storybook comme une application statique
|
|
37
38
|
- commit et push le résultat précédent sur la branche `gh-pages`
|
|
38
39
|
|
|
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).)_
|
|
40
41
|
|
|
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.
|
|
42
43
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Meta } from '@storybook/addon-docs
|
|
1
|
+
import { Meta } from '@storybook/addon-docs';
|
|
2
2
|
|
|
3
|
-
<Meta title=
|
|
3
|
+
<Meta title="Utiliser Pix UI/Utiliser un composant" />
|
|
4
4
|
|
|
5
5
|
# Utiliser un composant
|
|
6
6
|
|
|
@@ -63,8 +63,8 @@ Si cela ne fonctionne pas, vérifier dans Pix UI que le composant hérite des at
|
|
|
63
63
|
et que cet argument soit placé en dernier pour qu'il puisse surchager les attributs par défaut du composant.
|
|
64
64
|
|
|
65
65
|
```hbs
|
|
66
|
-
<p class=
|
|
67
|
-
|
|
66
|
+
<p class='pix-message {{concat "pix-message--" this.type}}' ...attributes>
|
|
67
|
+
...
|
|
68
68
|
</p>
|
|
69
69
|
```
|
|
70
70
|
|
|
@@ -74,11 +74,12 @@ L'accessibilité du composant lui-même est déjà testé par Storybook, voir
|
|
|
74
74
|
[Bonnes Pratiques / Accessibilité](/?path=/docs/développement-bonnes-pratiques-accessibilité--page).
|
|
75
75
|
|
|
76
76
|
Mais il faut aussi vérifier son accessibilité une fois composant intégré dans l'application front.
|
|
77
|
-
|
|
77
|
+
_Par exemple, le libellé étant spécifique à chaque bouton, il doit être défini à l'instanciation._
|
|
78
78
|
|
|
79
79
|
Pour tester l'accessibilité, on peut utiliser [l'extension Wave](https://wave.webaim.org/extension/) (Chrome et Firefox).
|
|
80
80
|
|
|
81
81
|
Voici quelques liens utiles :
|
|
82
|
+
|
|
82
83
|
- https://github.com/1024pix/pix/blob/dev/docs/Accessibilite.md
|
|
83
84
|
- https://1024pix.atlassian.net/wiki/spaces/DEV/pages/2856288297/2021-05-27+-+Compte-rendu+Atelier+accessibilit+Tanaguru+les+devs
|
|
84
85
|
|
|
@@ -86,4 +87,4 @@ Voici quelques liens utiles :
|
|
|
86
87
|
|
|
87
88
|
Si une icône n'apparaît pas lorsqu'un composant est instancié, il faut vérifier que l'icône est bien déclarée dans le
|
|
88
89
|
fichier `config/icons.js` de l'application concernée.
|
|
89
|
-
|
|
90
|
+
_Par exemple, `PixBanner` utilise l'icône `info-circle`, il faut penser à l'ajouter au fichier `icons.js`._
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Meta } from '@storybook/addon-docs
|
|
1
|
+
import { Meta } from '@storybook/addon-docs';
|
|
2
2
|
|
|
3
|
-
<Meta title=
|
|
3
|
+
<Meta title="Utiliser Pix UI/Installation" />
|
|
4
4
|
|
|
5
5
|
# Installer l'addon Pix UI
|
|
6
6
|
|
|
@@ -8,7 +8,6 @@ Pour installer Pix UI dans une application Ember il suffit d'écrire la commande
|
|
|
8
8
|
|
|
9
9
|
`npm install @1024pix/pix-ui@<tag_souhaité>` où `<tag_souhaité>` est la [dernière version](https://github.com/1024pix/pix-ui/tags).
|
|
10
10
|
|
|
11
|
-
|
|
12
11
|
# Mise à jour de l'addon Pix UI <a id="Addon"></a>
|
|
13
12
|
|
|
14
13
|
`npm install @1024pix/pix-ui@<tag_souhaité>`
|
|
@@ -19,10 +18,11 @@ ou bien, aller changer dans le `package.json` la version de Pix UI et faire un `
|
|
|
19
18
|
|
|
20
19
|
`<tag_souhaité>` doit correspondre au numéro de version à installer. Ce numéro de version correspond à une release.
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
_Par exemple, on peut remplacer `<tag_souhaité>` par `v0.1.1`._
|
|
23
22
|
Pour voir la liste des tags de Pix UI, [c'est par ici.](https://github.com/1024pix/pix-ui/tags)
|
|
24
23
|
|
|
25
24
|
Selon la convention [Semver](https://semver.org/lang/fr/), un tag est sous le format `vx.y.z`.
|
|
25
|
+
|
|
26
26
|
- `x` est une version majeure
|
|
27
27
|
- `y` est une version mineure
|
|
28
28
|
- `z` est un patch
|
|
@@ -33,5 +33,5 @@ Lorsqu'il y a un changement de version majeure, il faut faire attention aux chan
|
|
|
33
33
|
|
|
34
34
|
Pour se mettre au courant des changements majeurs, il faut aller voir dans le [CHANGELOG](https://github.com/1024pix/pix-ui/blob/dev/CHANGELOG.md), pour pouvoir voir chaque PR concernée par la montée de version.
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
Cela implique donc de changer le nom du composant partout dans l'application front où l'on souhaite monter de version
|
|
36
|
+
_Par exemple, si l'on souhaite passer de la version v2.2.0 de Pix UI à v3.0.0, on voit dans le CHANGELOG que la PR [#79](https://github.com/1024pix/pix-ui/pull/79) a changé le nom d'un composant.
|
|
37
|
+
Cela implique donc de changer le nom du composant partout dans l'application front où l'on souhaite monter de version._
|