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

feat: Proposal - Multi-Select Component #4026

Closed
iwint opened this issue Aug 13, 2023 · 8 comments
Closed

feat: Proposal - Multi-Select Component #4026

iwint opened this issue Aug 13, 2023 · 8 comments

Comments

@iwint
Copy link

iwint commented Aug 13, 2023

Summary:

I propose the addition of a multi-select component to React Native Paper. This component would allow users to select multiple items from a list, making it a valuable addition to the library's existing set of UI components.

Feature Details:

1. Component Features:

  • Ability to select multiple items from a list.
  • Search functionality to quickly find and select items.
  • Customizable styles to match various app designs.
  • Support for rendering complex content within each selectable item.

2. Use Cases:

  • Multi-select lists for filtering content.
  • Tagging functionality where users can select multiple tags.
  • Group selection, such as choosing multiple options in a settings menu.

3.API and Props:

  • items: An array of items to be displayed in the multi-select list.
  • selectedItems: An array of selected items.
  • onSelect: A callback function triggered when an item is selected or deselected.
  • searchable: A boolean flag indicating whether the search functionality should be enabled.

4.Prototype:

image

5.Benefits:

  • Provides a user-friendly way to select multiple items.
  • Enhances the usability of apps built with React Native Paper.
  • Aligns with the library's philosophy of providing high-quality UI components.

Contributor Information:

I'm excited to contribute this multi-select component to React Native Paper. I believe it will be a valuable addition and enhance the library's capabilities. Looking forward to receiving feedback from the community and maintainers.

@iwint iwint changed the title Proposal - Multi-Select Component feat: Proposal - Multi-Select Component Aug 13, 2023
@themarufsharifi
Copy link

Hey @iwint, I am interested to help you with this feature.

@Rooban19
Copy link

Please approve this request, one of the important feature looking for

@iwint
Copy link
Author

iwint commented Aug 21, 2023

Please approve this request, one of the important feature looking for

Thank you for your enthusiasm and support for this feature request. I completely understand its importance and the value it would bring to the React Native Paper project.

@iwint
Copy link
Author

iwint commented Aug 21, 2023

Hey @iwint, I am interested to help you with this feature.

Thank you so much for expressing your interest in helping with this feature request! I'm thrilled to collaborate on making this feature a reality in React Native Paper. Your willingness to contribute is truly appreciated.

@lukewalczak
Copy link
Member

Hey @iwint, thanks for your detailed feature request and your eagerness to contribute to the Paper's library.

While I recognize the value of your initiative, I've made the decision not to incorporate it into the repository. There are several reasons behind this choice, primarily centred around library scalability and maintenance.

Paper aims to provide fundamental components that serve as building blocks for more complex structures, like the one you've proposed. The new component would need to be compatible with both light and dark modes, two Material Design generations, three platforms, and support RTL/LTR directions. Maintaining such a component could be challenging and require significant effort to address potential issues. Furthermore, different users may have varying interpretations of the component, leading to diverse use cases and demands for component adjustments.

To prioritize Paper's long-term scalability and alignment with Material Design guidelines, we prefer not to introduce more complex component templates into the library.

Instead, I recommend creating a separate package for your component or even creating an Expo Snack example. This way, other developers can easily access the code and adapt it to their specific needs in their projects, ensuring flexibility without affecting the main library.

@WillSmithTE
Copy link

Did that separate package or expo snack ever end up getting created?

If so, it would be great to have a permanent link here, for future reference from Google.

@iwint
Copy link
Author

iwint commented Nov 15, 2023

Will send it once its fully done

@aniruddhashevle
Copy link

@iwint : Have you created any? You need any help on it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants