-
Notifications
You must be signed in to change notification settings - Fork 1.1k
feat(templates): add the collapsible table page template - #6065
Open
ernestt wants to merge 3 commits into
Open
Conversation
Several tables on one page, each in a collapsible card with its own columns, for groups that do not share a schema. Utilization is a credit-card idea, pending payout is a processor idea, cost basis is an investment idea; forcing all three into one grid gives a table that is mostly em-dashes under a header true of no row beneath it. Sits beside table-grouped rather than replacing it. That one takes a single collection of like rows and splits it into collapsible sections sharing one column set; this one is for when the rows do not agree. Every table sorts on its own, one time range in the page header drives all of them, and rows expand in place into a full-width history chart. Below 720px each table folds to its name and headline figure. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
ernestt
requested review from
cixzhang,
imdreamrunner and
josephfarina
as code owners
September 5, 2026 00:57
@meta-cla
meta-cla
Bot
added
the
CLA Signed
This label is managed by the Meta Open Source bot.
label
Sep 5, 2026
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
PR Analysis Report
📚 Storybook Preview
View Storybook for this PR
GitHub Pages may take up to a minute to hydrate after deploy.
🧪 Sandbox Preview
View Sandbox for this PR
GitHub Pages may take up to a minute to hydrate after deploy.
No new or modified components detected.
Bundle Size Summary
No component packages changed.
Accessibility Audit
Status: No accessibility violations detected.
Generated by PR Enrichment workflow | Storybook | Sandbox | View full report
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.
Adds
table-collapsible, a new page template. Purely additive —table-groupedis untouched.Why a second table-with-sections template
The two are the same silhouette solving opposite problems, and the split is the point:
table-grouped(existing)table-collapsible(new)useTableGroupedRowsis right when every group is the same kind of thing and grouping is just a sort you can collapse — issues by status, orders by month. It is the wrong tool the moment the groups stop agreeing on what the columns mean. Utilization is a credit-card idea, pending payout is a processor idea, cost basis is an investment idea. Forcing all three into one grid produces a table that is mostly em-dashes, under a header row true of no row beneath it.So each group owns a table, and the Card supplies the boundary the shared header row used to.
The template header comment carries the rule for extending it: the test for splitting is column divergence, not group count. Twelve groups with identical columns still belong in one table with the plugin.
What it demonstrates
syncIdScreenshots
Blocked on core
Do not merge before these land — the template calls three props that do not exist on
mainyet:hasRowClickExpansion,panelVariant, divider-below-panel, and the expansion animation onuseTableRowExpansionchevronPlacementonCollapsibleRubric
85/100 (B). Full marks on structure, tokens, a11y and responsive behaviour. The two deductions:
table-collapsibleandtable-groupedare both collapsible, so the name does not separate them on its own. Chosen deliberately with that tradeoff understood; the description carries the differentiation instead, which is the field that actually drives retrieval.Test plan
pnpm -F @astryxdesign/cli typecheck:strict— cleanpnpm -F @astryxdesign/cli typecheck:template-docs— cleantable-groupedbyte-identical tomain