Skip to content

Conversation

@VINAYMADIVAL
Copy link
Contributor

Description

This PR introduces a self-contained, accessible Resizable Panel Group component that allows users to dynamically adjust panel widths using both mouse and keyboard input.
It provides a horizontally resizable layout with smooth pointer dragging and full keyboard accessibility for an inclusive user experience.

This is the first component under the “Layout” category, extending DevUI’s component library to include flexible layout primitives.

Related Issue

Fixes #219

Changes Made

  • Added src/components/ui/resizable.tsx — self-contained Resizable Panel Group component supporting:
    • Horizontal resizing via draggable handle.
    • Keyboard resizing with arrow keys.
    • Accessible ARIA roles for assistive technologies.
  • Integrated the component into src/data/components.tsx with demo metadata.
  • Ensured consistent design and Tailwind styling aligned with existing DevUI components.

Screenshots or GIFs (if applicable)

image

Checklist

  • Only the necessary files are modified; no unrelated changes are included.
  • Follows clean code principles (readable, maintainable, minimal duplication).
  • All changes are clearly documented.
  • Code manually tested for pointer dragging and keyboard resizing.
  • No breaking changes are introduced to existing functionality.
  • All new and existing tests (if present) passed.

Additional Notes

  • Implemented entirely with React and Tailwind CSS, using only local utilities like cn() — no external dependencies.
  • The component is fully reusable for any horizontally resizable layout (e.g., sidebar/content split views).
  • This establishes the foundation for future Layout components, such as grid-based or vertical resizable layouts.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Great job, @VINAYMADIVAL! Thanks for creating the pull request.
Soon the maintainers/owner will review it and provide you with feedback/suggestions.
Make sure to star this awesome repository and follow the account!

  • DevUI

@fahimahammed
Copy link
Owner

please resolve merge conflict

@VINAYMADIVAL
Copy link
Contributor Author

@fahimahammed done

@VINAYMADIVAL
Copy link
Contributor Author

@fahimahammed I've resolved merge conflict can you please merge it?

1 similar comment
@VINAYMADIVAL
Copy link
Contributor Author

@fahimahammed I've resolved merge conflict can you please merge it?

Copy link
Owner

@fahimahammed fahimahammed left a comment

Choose a reason for hiding this comment

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

thank you

@fahimahammed fahimahammed merged commit c64b459 into fahimahammed:stage Oct 26, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Add Accessible Resizable Panels Component

2 participants