Skip to content
This repository has been archived by the owner on Dec 15, 2024. It is now read-only.

Hedron v2.0.0 #329

Open
AriTheElk opened this issue Oct 29, 2019 · 0 comments
Open

Hedron v2.0.0 #329

AriTheElk opened this issue Oct 29, 2019 · 0 comments

Comments

@AriTheElk
Copy link
Owner

It's been a while since hedron has seen any major improvements. But I have some big plans for v2.0.0. It's going to get some features that will make it a smart and somewhat opinionated layout system.

The problem I have with most layout systems, is that they do one thing pretty well. However, the more complex your app gets, the more typing you have to do on your layout system. Not just creating wrappers, but adding lots of properties. Especially when you're working with/on a design system and you want consistent margins and paddings in deep nested grids.

That's why I'm going to work on making hedron the (possibly first?) grid system that works intelligently.

One of the most annoying pitfalls currently about nesting hedron, is that it's very easy to unintentionally get double padding. It usually requires you to disable padding on the nested grid. Instead of allowing double padding, hedron should automatically disable padding on the nested grid.

How would that logic work?

Just to make sure we're on the same page, here's a quick example.

image

This is a pretty standard usage example, notice how the two rows have double padding? Ideally, the text in all the containers should be aligned with the desired padding set in the Grid.Provider.

The obvious solution in that example, would be to disable padding on every box past the first level. Or the inverse could be done, disabling padding on the outer levels and leaving it on the lowest level. The issue there would be trying to detect which level is the last one before the real content.

NOTE This is a WIP proposal, I will be updating this and adding replies from time to time.

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

No branches or pull requests

1 participant