Comments (9)
How about apps? It may make sense to support grids now that customers can extend the entire screens in the web app.
from forma-36.
Looks great to me!
I think we discussed in person earlier about adding padding/margin spacing to this too. I think this would be overkill and the component should just be about grids. The only spacing should be the colGap/rowGap (or maybe gridGap would be nice to define both with a single value?). If we want something for margin/padding I'd probably bring back the Box component proposal.
from forma-36.
@domarku Thanks for raising your concerns!
I don't know of any multi-column layouts being considered at the moment or in the near future.
The grid use is not only for the main layout, It should also help developers to layout smaller blocks. without having to write their own styles. i.e
For the above example, devs would have to write almost the same custom css, use specific tokens, and maybe they use the grid, or flexbox. This component here, aims to reduce that, and at the same time ensure consistency (correct spacing usage).
Is there a real need for it or could we make do with the workbench component for the immediate future? Is this an alternative or an addition?
It's an addition, also the workbench should use it when it's in place.
Aside from the question of why do we need this, there may also be potential overhead introduced to both designers and developers by offering a new tool without a guideline on how to use it — If it's in Forma, does it mean I have to use it? How many columns is a good number of columns? When would there be a need for more than two columns? How can I use columns of different widths?
Documentation and guidelines for designers, and developers will be in place with the component, I don't believe that designers have to use all the grid features as devs. The grid component will also make sure that designers use spacings properly, as we won't allow custom values for rowGap
, and columnGap
Finally, even though I believe any direction towards making Contentful responsive is great, it should be discussed not only on the design system level, but also strategically.
Introducing breakpoints here is completely optional, and it's also helpful to target desktop screens, and larger screens as well. I believe the component should have the proper structure and be ready for all use cases as long as it's not affecting anything.
Let me know if you have any questions. :)
from forma-36.
Thanks for the clarification, @mshaaban0.
I wasn't aware of some of these uses and it would be great if we would suggest some best practices in the component documentation.
For the above example, devs would have to write almost the same custom css, use specific tokens, and maybe they use the grid, or flexbox. This component here, aims to reduce that, and at the same time ensure consistency (correct spacing usage).
That already seems like a great benefit.
from forma-36.
Hey great proposal 👏 I'm all in for a grid component and I think we should definitely introduce breakpoints. How would you enable those?
from forma-36.
@johanneswuerbach I was thinking about breakpoints to be something like this...
Breakpoints
Screen | Size |
---|---|
mobile | 0px - 480px |
phablet | 480px - 768px |
tablet | 768px - 1200px |
desktop | 1200px - 1920px |
desktop-lg | 1920px - ∞ |
Usage of the breakpoints should be optional, example...
- All props that controls alignments and sizes, accepts numbers or an optional object that maps values to breakpoints
<Grid columns={12} rows={3} />
Or
<Grid columns={{mobile: 4, tablet: 8}} rows={{mobile: 1}} />
from forma-36.
Thanks for the proposal, @mshaaban0!
Before going into the implementation proposal, which I take is good, I would like to challenge the need or the problem it's supposed to be solving. There haven't been many examples of multi-column layouts in Contentful so far — perhaps only the space home, and not even that — and I don't know of any multi-column layouts being considered at the moment or in the near future. We recently set some guidelines for how and when to use the workbench component, based on the content on the page. Is there a real need for it or could we make do with the workbench component for the immediate future? Is this an alternative or an addition?
Aside from the question of why do we need this, there may also be potential overhead introduced to both designers and developers by offering a new tool without a guideline on how to use it — If it's in Forma, does it mean I have to use it? How many columns is a good number of columns? When would there be a need for more than two columns? How can I use columns of different widths?
Finally, even though I believe any direction towards making Contentful responsive is great, it should be discussed not only on the design system level, but also strategically — whether we ever plan on making the web app responsive and if we should include it in our efforts, prioritize accordingly etc.
Please let me know if I took too many steps back :)
from forma-36.
@mshaaban0 can we close this issue?
from forma-36.
@wichniowski yes we can, will follow up with another ticket for responsive
from forma-36.
Related Issues (20)
- 🐛 Bug - Popover Component Logs Warnings Due To Invalid Popper Usage HOT 4
- 🐛 Bug - onTabChange fires twice HOT 1
- 💡 Proposal - allow Multiselect component to accept disabled state HOT 2
- 💡 Proposal - allow Multiselect component to accept invalid state HOT 2
- 🐛 Bug - Multiselect dropdown not positioned correctly (missing portal?) HOT 2
- 🐛 Bug - Stack alignContent="center" not correct for FormControl with TextInput and FormControl.HelpText HOT 1
- 🐛 Bug - EntityListItem actions click doesn't prevent entire card click HOT 3
- 💬 Feedback - Color system HOT 3
- 💬 Feedback - Box shadow focus style outside of iframe when embedding HOT 10
- 🐛 Bug - Autocomplete loading state not shown unless it has data HOT 6
- 💬 Feedback - Autocomplete HOT 4
- 💬 Feedback - Multiselect.SelectAll should expose itemId as a prop HOT 1
- 🐛 Bug - Missing peerDependency warnings when installing packages using Yarn (modern) HOT 1
- 💡 Proposal - onOpenStateChanged callback for Datepicker component HOT 1
- 🐛 Bug - Text component does not allow to control the letter spacing HOT 3
- 🐛 Bug - Autocomplete onSelectItem is not working properly when we select twice the same element
- 🐛 Bug - Autocomplete onSelectItem is not executed when an item is selected a second time HOT 3
- 💡 Proposal - Enable passing a customised `Badge` to `EntryCard` HOT 2
- 💡 Proposal - Add JSON Editor component HOT 1
- 🐛 Bug - EntityList.Item loading container is much taller than the not loading one
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from forma-36.