Skip to content

refactor(ui): use the Radio component instead of RadioGroup.Option - #3454

Merged
fallenbagel merged 1 commit into
developfrom
refactor/headlessui-transition-prop-and-radio
Aug 31, 2026
Merged

refactor(ui): use the Radio component instead of RadioGroup.Option#3454
fallenbagel merged 1 commit into
developfrom
refactor/headlessui-transition-prop-and-radio

Conversation

@fallenbagel

@fallenbagel fallenbagel commented Aug 31, 2026

Copy link
Copy Markdown
Member

Description

v2 deprecates RadioGroup.Option in favour of Radio. The two are not drop-in as Radio defaults to rendering a span where RadioGroup.Option rendered a div, so passed as="div" to keep the option a block-level flex row. Radio's render prop also drops active entirely rather than deprecating it, so used focus, which is the same state under its current name.

How Has This Been Tested?

  • Manually tested the radio buttons on a dev server

Screenshots / Logs (if applicable)

Checklist:

  • I have read and followed the contribution guidelines.
  • Disclosed any use of AI (see our policy)
  • I have updated the documentation accordingly.
  • All new and existing tests passed.
  • Successful build pnpm build
  • Translation keys pnpm i18n:extract
  • Database migration (if required)

Summary by CodeRabbit

  • Bug Fixes
    • Improved issue-type selection behavior and focus-state handling in the create-issue modal.
    • Preserved the existing selection experience while enhancing accessibility and component consistency.

@fallenbagel fallenbagel added this to the v3.5.0 milestone Aug 31, 2026
@fallenbagel
fallenbagel requested a review from a team as a code owner August 31, 2026 08:34
@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 105c1b3e-c6a2-44c0-b453-6212cad386b8

📥 Commits

Reviewing files that changed from the base of the PR and between aa8e0de and 556f5a2.

📒 Files selected for processing (1)
  • src/components/IssueModal/CreateIssueModal/index.tsx

📝 Walkthrough

Walkthrough

The create-issue modal now uses Headless UI’s standalone Radio component for issue-type options. The options render as div elements, and the styling render-prop flag changes from active to focus.

Changes

Issue modal radio migration

Layer / File(s) Summary
Replace radio option component
src/components/IssueModal/CreateIssueModal/index.tsx
The modal imports Radio, replaces RadioGroup.Option, renders each option as a div, and uses focus for ring styling.

Estimated code review effort: 2 (Simple) | ~5 minutes

Suggested reviewers: 0xsysr3ll, danshilm

Poem

A rabbit hops through the modal bright
New radio buttons line up right
Focus rings glow where choices meet
Each option stands on div-shaped feet
The issue form is neat and sweet


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI lite review requested due to automatic review settings August 31, 2026 08:35
@fallenbagel
fallenbagel force-pushed the refactor/headlessui-transition-prop-and-radio branch from 59e9472 to 5acf3c4 Compare August 31, 2026 08:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

0xSysR3ll
0xSysR3ll previously approved these changes Aug 31, 2026
gauthier-th
gauthier-th previously approved these changes Aug 31, 2026
stack merge was automatically disabled August 31, 2026 11:54

Pull Request is not mergeable

stack merge was automatically disabled August 31, 2026 11:57

Pull Request is not mergeable

@fallenbagel
fallenbagel force-pushed the refactor/headlessui-transition-prop-and-radio branch from 5acf3c4 to 6a95adc Compare August 31, 2026 11:58
Base automatically changed from refactor/headlessui-flat-named-exports to develop August 31, 2026 12:00
@fallenbagel
fallenbagel dismissed stale reviews from gauthier-th and 0xSysR3ll August 31, 2026 12:01

The merge-base changed after approval.

@github-actions github-actions Bot added the merge conflict Cannot merge due to merge conflicts label Aug 31, 2026
@github-actions

Copy link
Copy Markdown

This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.

v2 deprecates RadioGroup.Option in favour of Radio. The two are not drop-in as Radio defaults to
rendering a span where RadioGroup.Option rendered a div, so passed `as="div"` to keep the option a
block-level flex row. Radio's render prop also drops `active` entirely rather than deprecating it,
so used `focus`, which is the same state under its current name.
@fallenbagel
fallenbagel force-pushed the refactor/headlessui-transition-prop-and-radio branch from 6a95adc to 556f5a2 Compare August 31, 2026 12:09
@github-actions github-actions Bot removed the merge conflict Cannot merge due to merge conflicts label Aug 31, 2026
@fallenbagel
fallenbagel merged commit 46d5915 into develop Aug 31, 2026
13 of 14 checks passed
@fallenbagel
fallenbagel deleted the refactor/headlessui-transition-prop-and-radio branch August 31, 2026 12:10
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.

4 participants