Skip to content

Conversation

@terrerox
Copy link
Contributor

@terrerox terrerox commented Jan 22, 2026

Introduces a new HeadlessPopover component built with @headlessui/react, providing
enhanced accessibility features including ARIA support, keyboard navigation, and
focus management. The component supports flexible APIs including render props, custom
styling, transitions, and static mode.

@terrerox terrerox self-assigned this Jan 22, 2026
@terrerox terrerox marked this pull request as draft January 22, 2026 12:49
@terrerox terrerox changed the title feat: integrate @headlessui/react into Popover component and update t… [PB-3520]: integrate @headlessui/react into Popover component and update t… Jan 22, 2026
  Introduces a new HeadlessPopover component built with @headlessui/react, providing
  enhanced accessibility features including ARIA support, keyboard navigation, and
  focus management. The component supports flexible APIs including render props, custom
   styling, transitions, and static mode.
@terrerox terrerox changed the title [PB-3520]: integrate @headlessui/react into Popover component and update t… [PB-3520]: add HeadlessPopover component with accessibility support Jan 23, 2026
"storybook:build": "storybook build"
},
"dependencies": {
"@headlessui/react": "1.7.5",
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I’m not totally convinced about adding a new library for the headless setup, so I created a separate popover component instead of changing the existing one. Curious what you think

Copy link
Collaborator

Choose a reason for hiding this comment

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

The fewer dependencies on third parties, the better. Why use this library compared to what we already have?

@terrerox terrerox marked this pull request as ready for review February 10, 2026 04:40
@terrerox terrerox requested a review from CandelR February 10, 2026 04:40
Copy link
Collaborator

@CandelR CandelR left a comment

Choose a reason for hiding this comment

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

Remember to add the storybook of the component and the snapshot tests :)

* </HeadlessPopover>
* ```
*
* **Note:** If `children` prop is provided, all other props (trigger, panel, etc.) are ignored.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think that classname it applies

* @returns {JSX.Element}
* - The rendered HeadlessPopover component.
*/
export default function HeadlessPopover({
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is not totally headless because it already has default style :O

"storybook:build": "storybook build"
},
"dependencies": {
"@headlessui/react": "1.7.5",
Copy link
Collaborator

Choose a reason for hiding this comment

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

The fewer dependencies on third parties, the better. Why use this library compared to what we already have?

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