feat: add responsive auto layout modes to Columns#219
Closed
brandonmcconnell wants to merge 9 commits intomainfrom
Closed
feat: add responsive auto layout modes to Columns#219brandonmcconnell wants to merge 9 commits intomainfrom
brandonmcconnell wants to merge 9 commits intomainfrom
Conversation
lindsayzhng
approved these changes
Mar 18, 2026
Ensure the component can utilize its full allocated width without being restricted by `prose` typography styles, allowing for more flexible layouts.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Update the "static" layout mode to "none" for improved clarity and consistency. This change better communicates that no specific auto-flow behavior is applied, allowing the default grid styling to take precedence.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Note
I also considered switching the original card component to use container queries for better responsiveness, and it may still be worth doing this in the future, but to keep the footprint of this PR minimal, I excluded that change.
Summary
Introduces new responsive auto layout modes (
fillandfit) for theColumnscomponent, enhancing its adaptability to varying container widths. The newlayoutprop allows developers to specify how columns should behave:static(default): Columns maintain fixed counts at different breakpoints using predefined classes.fill: Dynamically adds as many columns as possible to fill the available space, ensuring items don't drop below a minimum width.fit: Similar tofill, but it stretches items to fit the remaining space if there aren't enough items to fill a full row.This change utilizes CSS
grid-template-columnswithrepeat(auto-fill/auto-fit, minmax(...))for intelligent, flexible layouts, and includes new Storybook examples to demonstrate these modes.Test Plan
AutoFitandAutoFillstories in Storybook correctly display the responsive column behavior.staticlayout and existing stories continue to function as expected.CleanShot.2026-03-17.at.19.20.24.mp4
Note
Medium Risk
Changes
Columnslayout behavior by introducing a newlayoutprop and switching how grid columns are computed (class-based vs inlinegridTemplateColumns), which could affect rendering in existing consumers.Overview
Adds a new
layoutprop toColumnsto support responsive auto-grid modes (fill/fit) in addition to the existing fixed-column behavior (none). When auto modes are enabled,Columnsnow computesgridTemplateColumnsdynamically using a configurable CSS variable (--col-min-w, default200px); otherwise it uses centralized breakpoint/container-query class mappings.Updates Storybook to expose the new control, wrap stories in a container-query-enabled decorator, and add a
LayoutModescomparison story demonstratingnonevsfitvsfill.Written by Cursor Bugbot for commit 606297e. This will update automatically on new commits. Configure here.