Salut !
Je cherche à faire quelque chose avec Svelte, et je pense qu’un morceau de code vaut mieux qu’une longue explication :
/** app.css */
:root {
--color-yellow-light: hsl(41, 50%, 80%);
--color-yellow-regular: hsl(41, 42%, 60%);
}
<!-- Button.svelte -->
<script>
export let baseColor;
export let hoverColor;
</script>
<button
style:--base-color={baseColor}
style:--hover-color={hoverColor}
>
<slot>foo</slot>
</button>
<style>
@import 'app.css';
button {
padding: 1rem;
border: 0.2rem solid var(var(--base-color));
border-radius: 0.5rem;
background-color: var(var(--base-color));
color: #FFF;
font-weight: bold;
cursor: pointer;
}
button:hover {
background-color: var(var(--base-color));
}
</style>
L’idée, ensuite est de pouvoir écrire :
<script>
import Button from './Button.svelte';
</script>
<Button baseColor="--color-yellow-regular" hoverColor="--color-yellow-light"></Button>
Mais, à l’évidence, la syntaxe var(var(...))
ne fonctionne pas… Avez-vous une idée sur comment procéder dans ce cas ?
Merci d’avance !
+0
-0