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

[BREAKING] Permettre l'usage de balise HTML dans les label des formulaire (PIX-11719) #568

Merged
merged 16 commits into from
Mar 22, 2024

Conversation

xav-car
Copy link
Contributor

@xav-car xav-car commented Mar 12, 2024

💥 BREAKING_CHANGES

Nous n'utiliserons plus le @ label pour définir un label. Nous passons par un yield pour permettre de plus de flexibilité

🎄 Problème

Certains usage de composant nécessite l'intégration de balise html à l'intérieur du label. a l'heure actuel ce n'est pas possible / pratique

🎁 Proposition

Contrat d'interface modifier pour :

  • PixCheckbox
  • PixInputPassword
  • PixInput
  • PixMultiSelect
  • PixRadioButton
  • PixSearchInput
  • PixSelect
  • PixTextarea
  • PixToggle

Sur chacun de ces composants, les labels peuvent maintenant être passés ainsi :

<PixXX><:label>Le label du champ</:label></PixXX>

Uniformisation des @requiredText en @requiredLabel.
Uniformisation des @labelSize en @size pour plus de flexibilité quand nous devrons changer la taille des input par rapport à la size donné en paramètre
Uniformisation des @information en @subLabel.

2 cas de figure :

Cas 1

  • PixInputPassword
  • PixInput
  • PixMultiSelect
  • PixSearchInput
  • PixSelect
  • PixToggle

Déplacer la valeur de l'attribut @label si il était présent.

Sur le PixMultiSelect, il y a un déjà un yield pas nommé il faut en complément de <:label> il faut utiliser <:default> pour ce qui était déjà présent.

Cas 2

  • PixCheckbox
  • PixRadioButton

Le label était déjà passé en yield non nommé. Il est maintenant nommé donc il faut ajouter les balises <:label>.

Cas 3

  • PixTextarea

Il n'y avait pas possibilité de fournir un label directement au composant. C'est maintenant disponible.

Option "inline label"

Pour les champs placés dans des paragraphes de texte, il est nécessaire de passer l'attribut @inlineLabel="true"

Option aria-label

Pour les label ne nécessitant pas d'être affichés à l'écran, ajouter le champ @screenReaderOnly={{true}}.

🌟 Remarques

Création d'un sub component pix-input-base qui centralise les fonctions utilisé dans les différents PixInput .

Lerci @yannbertrand pour le détail exhaustif

🎅 Pour tester

Ci verte faire un tour des composants sur PixUI

@xav-car xav-car self-assigned this Mar 12, 2024
@xav-car xav-car added the 🚧 Development in progress Work In Progress label Mar 12, 2024
@pix-bot-github
Copy link

Une fois l'application déployée, elle sera accessible à cette adresse https://ui-pr568.review.pix.fr
Les variables d'environnement seront accessibles sur scalingo https://dashboard.scalingo.com/apps/osc-fr1/pix-ui-review-pr568/environment

@xav-car xav-car force-pushed the refactor/authorize-yield-on-label branch 2 times, most recently from 8c8dac5 to 2330369 Compare March 12, 2024 15:26
@xav-car
Copy link
Contributor Author

xav-car commented Mar 12, 2024

PR lié à ce souci passé inapercçu lors du dev du composant : pour l'usage de balise HTML dans les label

1024pix/pix#8003

@xav-car xav-car marked this pull request as ready for review March 12, 2024 15:40
@xav-car xav-car force-pushed the refactor/authorize-yield-on-label branch from 2330369 to 39554e3 Compare March 12, 2024 15:41
@xav-car xav-car added the ⚠️ BREAKING CHANGES ⚠️ indique que la PR va introduire des breaking changes et donc qu'une version majeure est nécéssaire label Mar 12, 2024
@xav-car xav-car force-pushed the refactor/authorize-yield-on-label branch 5 times, most recently from 8021c99 to 332e089 Compare March 14, 2024 11:13
@yannbertrand
Copy link
Member

yannbertrand commented Mar 14, 2024

De ce que j'ai compris on a des changement de contrat d'interface sur :

  • PixCheckbox
  • PixInputPassword
  • PixInput
  • PixMultiSelect
  • PixRadioButton
  • PixSearchInput
  • PixSelect
  • PixTextarea
  • PixToggle

Sur chacun de ces composants, les labels peuvent maintenant être passés ainsi :

<PixXX><:label>Le label du champ</:label></PixXX>

Uniformisation des @requiredLabel / @requiredText.
Uniformisation des @labelSize en @size pour plus de flexibilité quand nous devrons changer la taille des input par rapport à la size paser en paramètre

2 cas de figure :

Cas 1

  • PixInputPassword
  • PixInput
  • PixMultiSelect
  • PixSearchInput
  • PixSelect
  • PixToggle

Déplacer la valeur de l'attribut @label si il était présent.

Sur le PixMultiSelect, il y a un déjà un yield pas nommé il faut en complément de <:label> il faut utiliser <:default> pour ce qui était déjà présent.

Cas 2

  • PixCheckbox
  • PixRadioButton

Le label était déjà passé en yield non nommé. Il est maintenant nommé donc il faut ajouter les balises <:label>.

Cas 3

  • PixTextarea

Il n'y avait pas possibilité de fournir un label directement au composant. C'est maintenant disponible.

Option "inline label"

Pour les champs placés dans des paragraphes de texte, il est nécessaire de passer l'attribut @inlineLabel="true"

app/stories/pix-input.mdx Show resolved Hide resolved
app/stories/pix-input-password.mdx Show resolved Hide resolved
app/stories/pix-search-input.mdx Show resolved Hide resolved
app/stories/pix-search-input.stories.js Show resolved Hide resolved
app/stories/pix-toggle.stories.js Show resolved Hide resolved
Copy link
Member

@AndreiaPena AndreiaPena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Testé func sur Certif :

Composants ok :

PixInput
PixInputPassword
PixSelect
PixCheckbox
PixRadioButton
PixTextarea

Composants non utilisé dans l'app :

PixSearchInput
PixToggle

Composant ko :

PixMultiSelect

Capture d’écran 2024-03-15 à 11 16 21

@mariannebost
Copy link
Contributor

mariannebost commented Mar 15, 2024

Test func sur Admin

Composants ok :

PixInput
PixInputPassword
PixCheckbox
PixRadioButton
PixTextarea
PixSearchInput
PixToggle
PixSelect

Composant ko :

PixMultiSelect comme pour @AndreiaPena sur Certif, le label des options ne s'affiche pas malgré l'utilisation de <:default as |option|>{{option.label}}</:default>

@yannbertrand yannbertrand force-pushed the refactor/authorize-yield-on-label branch 5 times, most recently from 585eb32 to fec8122 Compare March 19, 2024 08:41
@pix-service-auto-merge pix-service-auto-merge force-pushed the refactor/authorize-yield-on-label branch from bd6c6a1 to db047b3 Compare March 22, 2024 09:51
@pix-service-auto-merge pix-service-auto-merge merged commit 80a254c into dev Mar 22, 2024
3 of 6 checks passed
@pix-service-auto-merge pix-service-auto-merge deleted the refactor/authorize-yield-on-label branch March 22, 2024 09:55
pix-service-auto-merge pushed a commit that referenced this pull request Mar 22, 2024
# [45.0.0](v44.3.8...v45.0.0) (2024-03-22)

### 💥 BREAKING CHANGE

- [#568](#568) Permettre l'usage de balise HTML dans les label des formulaire (PIX-11719)
@pix-service-auto-merge
Copy link
Contributor

🎉 This PR is included in version 45.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cross-team Toutes les équipes de dev Design review OK Func Review OK released 🚀 Ready to Merge Tech review OK ⚠️ BREAKING CHANGES ⚠️ indique que la PR va introduire des breaking changes et donc qu'une version majeure est nécéssaire
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants