Skip to content

Add hidden prop to layout components for declarative conditional rendering#5

Merged
foreleven merged 2 commits intomainfrom
copilot/add-hidden-variant-to-layout
Nov 10, 2025
Merged

Add hidden prop to layout components for declarative conditional rendering#5
foreleven merged 2 commits intomainfrom
copilot/add-hidden-variant-to-layout

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Nov 10, 2025

Replaces JSX conditional operators (&&) with a declarative hidden prop for cleaner, type-safe conditional rendering in widget templates.

Changes

New variant system

  • Added hidden boolean variant that returns null when true
  • Integrated into existing variant infrastructure at variants/hidden.ts

Component updates

  • Layout components: Box, Row, Col
  • Display components: Badge, Image
  • All return null early when hidden={true}

Template fixes

  • social-media-post.ts: {data.image && <Image />}<Image hidden={!data.image} />
  • email-preview.ts: {data.unread && <Badge />}<Badge hidden={!data.unread} />

Example

Before:

{data.image && <Image src={data.image} />}

After:

<Image src={data.image} hidden={!data.image} />

Screenshots

Gallery with updated templates
Gallery page

Social Media Post template
Social Media Post

Email Preview template
Email Preview

Original prompt

Design a hidden variant for the layout widget components.

  • When hidden is true, return null in the rendering.
  • Fix the conditional rendering in the template of widgets in the gallery page

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: foreleven <4785594+foreleven@users.noreply.github.com>
Copilot AI changed the title [WIP] Add hidden variant for layout widget components Add hidden prop to layout components for declarative conditional rendering Nov 10, 2025
Copilot AI requested a review from foreleven November 10, 2025 08:04
@foreleven foreleven marked this pull request as ready for review November 10, 2025 09:27
@foreleven foreleven merged commit 224a408 into main Nov 10, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants