Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drawer component #118

Open
leonid opened this issue Sep 11, 2024 · 0 comments
Open

Drawer component #118

leonid opened this issue Sep 11, 2024 · 0 comments
Assignees
Milestone

Comments

@leonid
Copy link
Member

leonid commented Sep 11, 2024

A Drawer component is a UI element that slides in from the edge of the screen, typically used for navigation or to display additional content. Here are the key features a Drawer component should have:

  1. Slide-in Animation: Smooth sliding animation when the drawer opens and closes.
  2. Positioning: Ability to position the drawer on the left, right, top, or bottom of the screen.
  3. Customizable Styling: Support for custom styles and CSS classes to match the application's design.
  4. Overlay: Option to display an overlay behind the drawer to focus user attention.
  5. Close on Outside Click: Option to close the drawer when clicking outside of it.
  6. Close Button: Include a close button within the drawer for easy dismissal.
  7. Keyboard Accessibility: Support for keyboard navigation and focus management.
  8. Responsive Design: Ensure the drawer is responsive and adapts to different screen sizes.
  9. Event Handling: Emit events for user interactions such as open, close, and toggle.
  10. Accessibility: Ensure the component is accessible with proper ARIA attributes and keyboard support.
  11. Content Customization: Ability to include various types of content within the drawer, such as text, images, and other components.
  12. Persistent State: Option to keep the drawer open or closed based on application state.
  13. Theming: Support for different themes to match the application's design system.
  14. Size Control: Control over the width or height of the drawer.
  15. Backdrop Customization: Customizable backdrop styles, including color and opacity.
  16. Nested Drawers: Support for nested drawers within the main drawer.
  17. Transition Effects: Support for different transition effects when opening and closing.
  18. Lock Scroll: Option to lock the background scroll when the drawer is open.
  19. Auto-Focus: Automatically focus the first focusable element within the drawer when it opens.
  20. Persistent Drawer: Option to make the drawer persistent, always visible on larger screens.

To be implemented

  • Vue component with basic logic
  • Styles and extension points as css properties
  • Vitepress documentation: feature description, examples and api documentation
  • Unit tests for component and its composition
  • Storybook demos and documentation
@leonid leonid self-assigned this Sep 11, 2024
@leonid leonid added this to the Beta Release milestone Sep 11, 2024
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

No branches or pull requests

1 participant