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

Investigate components composition patterns #774

Open
petermakowski opened this issue May 6, 2022 · 1 comment
Open

Investigate components composition patterns #774

petermakowski opened this issue May 6, 2022 · 1 comment
Labels
P3 Triaged Issue has been reviewed as part of legacy backlog grooming (project P3). Question ❓ Further information is requested Triaged: new architecture Triaged, to be addressed in new architecture of the design system

Comments

@petermakowski
Copy link
Contributor

@huwshimi @petermakowski it seems this PR leans into being a discussion about how we approach props API in our components. The more complex the component gets (like MainTable, this navigation, etc) the harder it is to pass all needed data as props and maintain flexibility that we are used to with Vanilla (being able to adjust HTML structure, class names, etc).

I'm starting to think that the way MUI approaches it (by using the composable child components) seems to be more flexible in this regard (for example: https://mui.com/material-ui/react-bottom-navigation/).

I feel that we had a similar discussion in the past (when Modular Table was started maybe?), but I don't remember where it landed.

I don't know what's the best approach, but the more complicated "items" props will be the harder it will be to use it or maintain in future.
Or maybe some compromise would be to have a set of smaller composable components (NavigationBar, NavigationItems, NavigationSearch, etc) that you can use to custom build any "non standard" configuration for navigation, but we also provide MainNavigation component that you just pass props to that should cover most cases - kind of similar to what we have with MainTable being a controller component for Table/TableRow/TableCell, etc…

Originally posted by @bartaz in #767 (comment)

@petermakowski petermakowski added the Question ❓ Further information is requested label May 6, 2022
@bartaz bartaz added P3 Triaged Issue has been reviewed as part of legacy backlog grooming (project P3). Triaged: v4 Triaged, to be implemented as part of Vanilla v4 Triaged: new architecture Triaged, to be addressed in new architecture of the design system and removed Triaged: v4 Triaged, to be implemented as part of Vanilla v4 labels Sep 30, 2024
@bartaz
Copy link
Member

bartaz commented Sep 30, 2024

Triage: architecture level decision that should be revisited in new architecture of design system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P3 Triaged Issue has been reviewed as part of legacy backlog grooming (project P3). Question ❓ Further information is requested Triaged: new architecture Triaged, to be addressed in new architecture of the design system
Projects
None yet
Development

No branches or pull requests

2 participants