refactor: ♻️ migrate trait compontent to css grid

This commit is contained in:
Sebin Nyshkim 2025-04-07 01:48:58 +02:00
parent 0bd95c38c4
commit c57a815fed

View file

@ -1,12 +1,10 @@
<div class="trait-list"> <div class="trait-list">
<div class="trait" webc:for="trait of traits"> <div class="trait" webc:for="trait of traits">
<div class="icon-box"><icon :icon="trait.icon" webc:nokeep></icon></div> <div class="icon-box"><icon :icon="trait.icon" webc:nokeep></icon></div>
<div>
<p class="type" @text="trait.type"></p> <p class="type" @text="trait.type"></p>
<p class="text" @text="trait.text"></p> <p class="text" @text="trait.text"></p>
</div> </div>
</div> </div>
</div>
<style> <style>
.trait-list { .trait-list {
@ -19,20 +17,19 @@
} }
.trait { .trait {
display: flex; display: grid;
flex-flow: row nowrap; grid-template-areas:
align-items: center; 'icon type'
gap: 0.75em; 'icon data';
grid-template-columns: auto 1fr;
& > * { column-gap: 0.75em;
flex: 1 0 0; justify-items: start;
}
& .icon-box { & .icon-box {
--icon-size: 2em; --icon-size: 2em;
position: relative; position: relative;
flex: 0 1 auto; grid-area: icon;
width: var(--icon-size); width: var(--icon-size);
height: var(--icon-size); height: var(--icon-size);
@ -61,21 +58,18 @@
& svg { & svg {
width: 100%; width: 100%;
height: 100%; height: 100%;
padding: 0.625em; padding: 0.5em;
} }
& p { & p {
margin-block: 0; margin-block: 0;
& + p {
margin-block: 0.75em 0;
}
} }
& .type { & .type {
font-size: 0.625em; font-size: 0.625em;
color: var(--clr-heading-data); color: var(--clr-heading-data);
text-transform: uppercase; text-transform: uppercase;
grid-area: type;
} }
& .text { & .text {
@ -83,6 +77,7 @@
margin-block: 0; margin-block: 0;
margin-inline: 0; margin-inline: 0;
color: var(--clr-text); color: var(--clr-text);
grid-area: data;
} }
} }
</style> </style>