-
Notifications
You must be signed in to change notification settings - Fork 37
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
Behold the raise of the Darth Mode 🌑 #2540
Conversation
df6bdac
to
fc92302
Compare
BundleMonFiles updated (3)
Total files change +309B +0.61% Groups updated (1)
Final result: ✅ View report in BundleMon website ➡️ |
0f4cf90
to
023d950
Compare
The latest updates on your projects. Learn more about Argos notifications ↗︎
|
🎉🎉🎉🎉🎉🎉 |
65341a5
to
198dd78
Compare
Bien vu merci @zatteo il y a un souci visiblement avec les shadows. Je regarde. Edit : corrigé dans un commit à part. En effet plusieurs soucis à ce sujet : suite à un correctif récent qui se basaient sur les var css et non les valeurs brutes, les shadows n'étaient plus responsive au thème car pour que les var css fonctionnent il faut être wrappé dans un div avec la bonne classe. Or dans le cas du Menu, ça passe par Popover (et donc Portal) qui fait donc poper un div dans le DOM (sans la classe css donc). Jusque là ça marchait encore car la balise html comportait les var css. Donc il y avait bien les shadows, pour qu'on soit en normal ou inverted ça utilisait les shadow normal. J'ai revu l'approche en réintroduisant le fait qu'on aille chercher les valeurs des vars css, et non utiliser les vars css elles-mêmes pour la construction des shadows. A cause du fonctionnement Popover et du fait qu'il faille être wrappé dans un div qui contient les var css, ça ne peut pas marcher autrement. |
Bien joué super résultat ! Hâte de voir ça dans les apps |
4d7578d
to
40e2666
Compare
c1ff095
to
c8e23b4
Compare
5f6092a
to
13c960c
Compare
- Remove note about inverted theme - Remove forced text color to use theme responsive ones
BREAKING CHANGE: if you want to get or override css var, you need to do it on new classes, see below: `CozyTheme--normal` -> `CozyTheme--light-normal` `CozyTheme--inverted` -> `CozyTheme--light-inverted`
… node be more responsive to themes, because for the css variable to have the right value, we need to be under a node that carries the CozyTheme class. But in the `html, body` the tags are too high in the DOM, they're not under a CozyTheme tag, so the variable values aren't right.
To prepare the way to dark mode. `type` is set default to `light`. BREAKING CHANGE: You can't now longer rely on `theme.palette.type` to determine `normal` or `inverted` theme, you have to use `theme.palette.variant` instead.
BREAKING CHANGE: - `useCozyTheme()` return now an object with `type` and `variant`. You must replace `const theme = useCozyTheme()` by `const { variant } = useCozyTheme()` - you can add `<meta name="color-scheme" content="only light" />` in your `index.ejs` app file to force Light Mode if Dark Mode not fully supported by your app.
BREAKING CHANGE: - Remove some css vars. You should use semantic var instead. List of removed css vars : ``` --invertedBackgroundColor --invertedContrastTextColor --spinnerColor --linkColor --linkTextDecoration --linkColorActive --invertedTabsActiveTextColor --invertedTabsInactiveTextColor --invertedTabsIndicatorColor --invertedTabsBackgroundColor --regularButtonPrimaryColor --regularButtonSecondaryColor --regularButtonActiveColor --regularButtonConstrastColor --secondaryButtonPrimaryColor --secondaryButtonSecondaryColor --secondaryButtonActiveColor --secondaryButtonContrastColor --dividerColor2 --iconColor --textIconColor --actionMenuIconColor --neutralBackground --buttonTextTransform --buttonBorderRadius --alertErrorColor --alertErrorBackgroundColor --alertSuccessColor --alertSuccessBackgroundColor --alertInfoColor --alertInfoBackgroundColor ```
13c960c
to
eb2c4a5
Compare
🎉 This PR is included in version 101.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
`cozy-ui` has been upgraded to `103.6.2` to retrieve the new Theme variants support (light and dark) The code changes are for handling the `cozy-ui 101.0.0` breaking changes One of the changes consist to force the light theme as there are no specs yet for this theme support on cozy-home Related PR: cozy/cozy-ui#2540
`cozy-ui` has been upgraded to `103.6.2` to retrieve the new Theme variants support (light and dark) The code changes are for handling the `cozy-ui 101.0.0` breaking changes One of the changes consist to force the light theme as there are no specs yet for this theme support on cozy-home Related PR: cozy/cozy-ui#2540
`cozy-ui` has been upgraded to `103.6.2` to retrieve the new Theme variants support (light and dark) The code changes are for handling the `cozy-ui 101.0.0` breaking changes One of the changes consist to force the light theme as there are no specs yet for this theme support on cozy-home Related PR: cozy/cozy-ui#2540
Ajout du theme sombre pour cozy-ui, alias dark mode. Pour l'activer, il faut passer le browser en mode dark.
Fonctionnement
On utilise le provider
<CozyTheme />
pour wrapper les app, ainsi qu'une partie précise du DOM à l'intérieur d'une app, afin d'apporter le style de cozy-ui. Ce composant a été modifié :type
dont la valeur peut êtrelight | dark
en fonction de la media queryprefers-color-scheme: dark
(selon la configuration du browser). Cette vartype
est passé en prop à<MuiCozyTheme />
ainsi qu'au div wrapper qui contient les var css.<meta name="color-scheme" content="dark light" />
si elle n'est pas déjà présentevariant
qui peut avoir pour valeurnormal | inverted
.Override
Si votre app ne supporte pas le thème sombre :
<meta name="color-scheme" content="only light" />
dansindex.ejs
.Note
démo : https://jf-cozy.github.io/cozy-ui/react/
Pour tester dans la doc il faut mettre son browser en mode dark, ou changer le mode à gauche dans la barre de navigation (ce qui force le process).
Deux bons candidats : https://jf-cozy.github.io/cozy-ui/react/#/Core/Buttons et https://jf-cozy.github.io/cozy-ui/react/#/Core/Alert
Breaking changes
if you want to get or override css var, you need to do it on new classes, see below:
CozyTheme--normal
->CozyTheme--light-normal
CozyTheme--inverted
->CozyTheme--light-inverted
You can't now longer rely on
theme.palette.type
to determinenormal
orinverted
theme, you have to usetheme.palette.variant
instead.useCozyTheme()
return now an object withtype
andvariant
. You must replaceconst theme = useCozyTheme()
byconst { variant } = useCozyTheme()
Remove some css vars. You should use semantic var instead. List of removed css vars :
May the dark mode be with us!
Limitation