USDA-FSA / fsa-style

CSS Implementation of USDA's FPAC Design System
http://usda-fsa.github.io/fsa-style/
Other
11 stars 8 forks source link

Level Component (née List Item, née Flex Utilities) #385

Closed francisrupert closed 4 years ago

francisrupert commented 4 years ago

Task

What

A flexbox-based, utilitarian component to enable simple horizontal arrangement of [things].

e.g....

image

francisrupert commented 4 years ago

Here's a very brief idea of Usage for this component, particularly distinguishing from Grid System.

Use When Don’t Use
Small-scale layout tasks control components along a level row For complex or unique arrangements of components; consider using Grid System
Vertically center two or more adjacent elements or components For large-scale page layout; consider using Grid System
francisrupert commented 4 years ago

@bignamehere,

I’d like you to review the working prototype for this feature. The general idea is summarized well enough in this Issue’s initial post.

This complements, and doesn't replace, the Grid System, which alone isn’t sufficient or convenient for simpler needs to compose together multiple [things] in a horizontal row.

I’ve been testing it within the Reference App in a variety of cases, and I’m feeling pretty good about it. The main thing I’ve yet to do is add Responsive Scopes to it (using the same @bp namespace proven successful in other areas.

Take at look at this Codepen to explore, backwards-engineer, stress-test, and provide feedback on its usage.

bignamehere commented 4 years ago

@francisrupert looking into this a bit more, I believe I understand the difference between the Grid System and the Level. First of all, the documentation will need to outline the difference between a component and a layout. Layouts are a higher order tier in Atomic Design, so I think we can explain it in a way where the Level organizes a small set of controls, where a Layout organizes an ecosystem or features. At least that is how I understand it. Also, it seems to only affect a single "row" of controls, so that distinction can be made as well.

bignamehere commented 4 years ago

@francisrupert After reviewing the examples, it initially felt like one component was trying to do too much, and this might overwhelm the User.

Questions I have...