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

Scoped CSS #248

Open
marin42 opened this issue Apr 2, 2024 · 5 comments
Open

Scoped CSS #248

marin42 opened this issue Apr 2, 2024 · 5 comments

Comments

@marin42
Copy link

marin42 commented Apr 2, 2024

Bonjour à tous,

Nous utilisons depuis peu la lib sur le repo du Service National Universel.

Nous n'utilisons en revanche le DSFR que sur la partie inscription de l'app. Et les règles globales de css utilisées par react-dsfr cassent totalement toute la partie "Non DSFR" de l'application, ce qui nous oblige à charger les css de react-dsfr uniquement sur des pages full DSFR, et ceci rend complètement impossible l'utilisation d'un composant "dsfr" sur une page non compliant.

Est il envisageable de scoper le css de react-dsfr ?

Un scope global de type .dsfr suffirait à nous débloquer sur de nombreux sujets.

@garronej
Copy link
Collaborator

garronej commented Apr 2, 2024

Salut @marin42,

Malheureusement je crois qu'on ne va rien pouvoir faire pour toi pour le coup.

Le DSFR est comme ça, il applique un certain nombre de règles CSS global il n'y a rien que nous puissions faire au niveau de l'integration React.

@garronej
Copy link
Collaborator

garronej commented Apr 2, 2024

Peut être que la solution serait d'augmenter la spécificité de votre CSS custom.

Quelle est le framework CSS que vous utilisez?

@garronej
Copy link
Collaborator

garronej commented Apr 4, 2024

@marin42, On a eu une discution avec @ledouxm hier qui semble avoir une solution "artisanal" au problème.

Elle est cependant difficile a appliquer a notre niveau car elle implique de modifier la feuille de style CSS.

@ledouxm
Copy link

ledouxm commented Apr 4, 2024

J'ai fait un script qui, après le DL du dsfr, transforme le fichier dsfr.min.css en mettant tout (sauf les blocks :root et :root[data-fr-theme=dark] et les @font-face) dans un @layer dsfr { ... } dans mon cas mais ce serait une class dans le votre.

Le script utilise des regex, il serait peut être plus propre de parcourir l'AST avec css-tree

@marin42
Copy link
Author

marin42 commented Apr 9, 2024

Merci pour vos réponses à tous, je vais jeter un oeil à ton script @ledouxm

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

No branches or pull requests

3 participants