-
Notifications
You must be signed in to change notification settings - Fork 38
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
Font based sizing #2508
Comments
Good suggestion. We'll definitely have a look at this. To avoid more subject and ongoing refactors, I suggest we have a look at this after we finish issues we have already comited to doing.
Relevant issues on this subject:
Edit: Updated list of finished issues before this as we are able to do more things in parallel now. |
A less radical approach to solve only #2453 and getting rid of .ds-pagination {
&[data-size='sm'] .ds-button {
--dsc-button-font-size: var(--ds-font-size-4);
--dsc-button-gap: var(--ds-sizing-1);
--dsc-button-padding-block: var(--ds-spacing-2);
--dsc-button-padding-inline: var(--ds-spacing-3);
}
&[data-size='lg'] .ds-button {
--dsc-button-font-size: var(--ds-font-size-6);
--dsc-button-gap: var(--ds-sizing-3);
--dsc-button-padding-block: var(--ds-spacing-3);
--dsc-button-padding-inline: var(--ds-spacing-5);
}
} Which would still make this work <nav class="ds-pagination" data-size="sm"> <-- data-size er satt én gang wee
<ol>
<li><button type="button">1</button></li>
<li><button type="button">2</button></li>
<li><button type="button">3</button></li>
<li><button type="button">4</button></li>
<li><button type="button">5</button></li>
<li><button type="button">6</button></li>
</ol>
</nav> As for scaling sizes based on font-size, this warrants further consideration:
Also, I can't seem to get your example to work. I tried setting it up in a codesandbox but the relative sizing variables don't actually do anything – see the missing padding. |
@unekinn The approach of
Might be a direction, but I'm concerned of:
Sorry - some errors in initially posted pseudo-code 😇 As we only multiply by whole numbers, there is no chance of half-pixels ❤️ (unless changing the root font-size to something like |
Status: Lasse is experimenting with this setup as "modes" in Figma |
Oppdatert matematisk formel, som tilpasser skalaen basert på font-størrelse, og setter en minimum skala:
|
Forenklet:
|
Next step: Should be tested in Figma. Create some sketches/ user interfaces with the suggested scale. |
Work on #2508 Minor adjustments will be done in #2665 --------- Co-authored-by: Michael Marszalek <[email protected]>
TL;DR: Her er et kjørende eksempel: https://codepen.io/eirikbacker/pen/RwXNpXo
Prerequisite #2526
Tasks
data-size
anddata-color
and expose on all components #2671size
todata-size
#2673Har tenkt en stund på dette med
size
. I de fleste tilfeller, vil vi at når man settersize
, på en komponent, så påvirker det også bestanddelene inni.F.eks;
Pagination size="sm"
gjør atPagination.Button
også skal hasize="sm"
,Dropdown size="sm"
gjør atDropdown.Item
skal hasize="sm"
og så videre.useContext
APIet som sendersize
nedover. Jeg tenker det er både kjipt fordi det ikke lar seg oversette til oss som jobber uten React, og det er kjipt fordi det gjør applikasjonene tyngre da det krever med rendering i nettleser.Så, hva kan vi gjøre isteden?
La oss ta et eksempel med Pagination:
padding: 5px
på Pagination, så er det lett å arvepadding: 5px
påPagination.Button
.padding: 5px
påPagination
, vi vil hapadding: 0
påPagination
, men fortstatt hapadding: 5px
påPagination.Button
- hvordan får vi til det?font-size
font-size
, så får vi til noen nydeligepadding
-skalaer - også påPagination.Button
- som blir større og mindre, nårfont-size
justeres.Pagination
, så trenger vi ikke å defineregap
mange ganger, fordigap
også kan basere seg påfont-size
.Dette vil være relevant for
gap/padding/margin/width/height
- alt som handler om størrelse, kan være skala-basert påfont-size
I stede for å skrive slik som i dag:
Kunne vi ha skrevet dette:
Og isteden for å skrive slik når (man ikke bruker React):
Vil man kunne skrive dette:
Systemet baserer seg på at man lager en (eller flere) skala, basert på font-size:
Da går det også an å gjøre:
...så dette tror jeg vil være mulig å gjenskape i Figma også?
Ser at det vil kreve en liten opprydding; er ikke alltid vi skalerer gap f.eks konsekvent, men det tror jeg er fint å rydde i uansett.
Vil gjerne høre hva dere tenker og gjerne sparre med @Thunear og @Febakke litt på om det designmessig gir mening også.
Vil også løst #1781
Vil også påvirke #1583
The text was updated successfully, but these errors were encountered: