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

feat: add article composants polymorphes typescript react #995

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

fpasquet
Copy link
Contributor

No description provided.

@fpasquet fpasquet added the WIP label Oct 19, 2023
@fpasquet fpasquet self-assigned this Oct 19, 2023
@github-actions github-actions bot temporarily deployed to dev-feat/composants-polymorphes-typescript-react October 19, 2023 16:46 Destroyed
@github-actions
Copy link
Contributor

github-actions bot commented Oct 19, 2023

⚡️🏠 Lighthouse report

Here's the summary:

Path Performance Accessibility Best practices SEO PWA
/feat/composants-polymorphes-typescript-react/ 🟠 65 🟢 97 🟢 92 🟢 92 🟠 70
/feat/composants-polymorphes-typescript-react/fr/authors/ajacquemin/ 🟠 67 🟢 97 🟠 83 🟢 92 🟠 70
/feat/composants-polymorphes-typescript-react/fr/comment-construire-site-web-avec-nextjs/ 🟠 75 🟢 98 🟠 83 🟢 100 🟠 70
/feat/composants-polymorphes-typescript-react/fr/nestjs-le-cycle-de-vie-dune-requete/ 🟠 72 🟢 98 🟠 83 🟢 97 🟠 70

Here's the audits:

Path FCP
1800 <=
LCP
2500 <=
Speed Index
3400 <=
TTI
3800 <=
TBT
200 <=
CLS
0.1 <=
/feat/composants-polymorphes-typescript-react/ 🔴 2379 🔴 8726 🟢 2563 🔴 8778 🟢 91 🟢 0
/feat/composants-polymorphes-typescript-react/fr/authors/ajacquemin/ 🔴 1904 🔴 8359 🟢 2671 🔴 8398 🟢 88 🟢 0
/feat/composants-polymorphes-typescript-react/fr/comment-construire-site-web-avec-nextjs/ 🔴 2666 🔴 3861 🟢 3033 🔴 10299 🟢 100 🟢 0
/feat/composants-polymorphes-typescript-react/fr/nestjs-le-cycle-de-vie-dune-requete/ 🔴 2155 🔴 4783 🟢 2771 🔴 8580 🟢 104 🟢 0.07

@fpasquet fpasquet force-pushed the feat/composants-polymorphes-typescript-react branch from 270c7c9 to 43d703b Compare October 20, 2023 07:58
@github-actions github-actions bot temporarily deployed to dev-feat/composants-polymorphes-typescript-react October 20, 2023 08:01 Destroyed
@fpasquet fpasquet added status/reviewable status: reviewable WIP and removed WIP status/reviewable status: reviewable labels Oct 20, 2023

La polyvalence des composants polymorphes repose sur votre capacité à anticiper les besoins variés de votre librairie UI et à concevoir des composants capables de s'adapter à une multitude de cas d'utilisation.

L'avenir de la conception de librairies UI est prometteur, avec des composants polymorphes qui deviennent de plus en plus essentiels pour répondre aux besoins d'interfaces utilisateur flexibles et dynamiques. En investissant du temps et des ressources dans la création de composants polymorphes bien conçus, vous pouvez contribuer à l'évolution positive de la conception d'interfaces utilisateur et à la satisfaction de vos utilisateurs.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
L'avenir de la conception de librairies UI est prometteur, avec des composants polymorphes qui deviennent de plus en plus essentiels pour répondre aux besoins d'interfaces utilisateur flexibles et dynamiques. En investissant du temps et des ressources dans la création de composants polymorphes bien conçus, vous pouvez contribuer à l'évolution positive de la conception d'interfaces utilisateur et à la satisfaction de vos utilisateurs.
L'avenir de la conception de librairies UI est prometteur, avec des composants polymorphes qui deviennent essentiels pour répondre aux besoins d'interfaces utilisateur flexibles et dynamiques. En investissant du temps et des ressources dans la création de composants polymorphes bien conçus, vous pouvez contribuer à l'évolution positive de la conception d'interfaces utilisateur et à la satisfaction de vos utilisateurs.


L'avenir de la conception de librairies UI est prometteur, avec des composants polymorphes qui deviennent de plus en plus essentiels pour répondre aux besoins d'interfaces utilisateur flexibles et dynamiques. En investissant du temps et des ressources dans la création de composants polymorphes bien conçus, vous pouvez contribuer à l'évolution positive de la conception d'interfaces utilisateur et à la satisfaction de vos utilisateurs.

Si vous souhaitez voir quelques exemples plus concrets de composants polymorphes ([Box](https://github.com/fpasquet/my-design-system/blob/master/src/components/Atoms/Layout/Box/Box.tsx), [Link](https://github.com/fpasquet/my-design-system/blob/master/src/components/Atoms/Link/Link.tsx), [Heading](https://github.com/fpasquet/my-design-system/blob/master/src/components/Atoms/Typography/Heading/Heading.tsx) ...), vous pouvez vous rendre sur ce [dépot GitHub](https://github.com/fpasquet/my-design-system).
Copy link
Member

Choose a reason for hiding this comment

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

lien vers le design système eleven ?

authors:
- fpasquet
---

Copy link
Member

Choose a reason for hiding this comment

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

contexte : lien vers les articles parents design system

## Qu'est-ce qu'un composant polymorphe ?

En développement d'interfaces utilisateur, un composant polymorphe est un élément qui a la capacité d'adopter le comportement et l'apparence de n'importe quel élément HTML. Cela signifie qu'un même composant peut s'afficher en tant qu'ancre (lien hypertexte) ou en tant que bouton, tout en maintenant une cohérence visuelle. Il est essentiel de noter que, visuellement, ce composant demeure identique, quel que soit le rôle qu'il joue.

Copy link
Member

Choose a reason for hiding this comment

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

ajouter des screenshot pour représenter visuellement un exemple : un bouton/lien par ex

));
```

Pour créer notre composant Box, nous utilisons la librairie `react-polymorphed` qui simplifie le processus de création de composants polymorphes avec TypeScript. Nous avons créé une fonction `polyRef` pour surcharger le type de retour de `forwardRef` avec `PolyRefFunction`. Cela nous permet d'obtenir une référence à tous les composants que nous créons.
Copy link
Member

Choose a reason for hiding this comment

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

expliquer ce qu'apporte vraiment cette lib (des types?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants