-
Notifications
You must be signed in to change notification settings - Fork 378
Description
Since patterfly is our main pattern library framework and react is starting to be used accross multiple projects it would be nice to create couple of business logic components, e.g. more complex components to be used accross multiple projects.
This repository is really great way how to style and create multiple components as building blocks for each application. However it lacks some more complex components which can be used in bigger projects. Let's take as example tagging component, which is used accross multiple projects, but it lacks complex and mainly unified UX design patterns.
Possible sollutions
From my point of view we have two ways of how to deliver such complex and unified components to multiple projects
1. Create components in this repo (current state)
Drawback of this sollution is that this repository will get big and eventually it will mean loading a lot of JS just to use simple components (I know that treeshaking should take care of it, but why rely on it). Plus we can't create components which are using redux because this repository is not setup in a way of exposing redux related things.
2. Create new repository which would use basic patternfly react components (porposition for discussion)
Drawback may be that eventually components in such repo might be forgotten. But we could expose much more things in such repo and build on top of simple components created in patternfly-react, use redux, expose actions and reducers and use them in final application. We used to have something similiar for angular's components called ui-components, I started to work on react related components which might be used in ManageIq, however I feel like these components should be part of patternfly.
Conclusion
Basically what I propose is shared GH repository for multiple teams where they'd create their complex components which can eventually be shared amongst others.
Repo which is in process of setting up react-ui-components, lot's of things are still missing (mostly CI/CD), but basic understanding of how this can be used can be seen there.