Douro-ui / design-system

Douro UI is a Design System for all Metyis projects and partners
MIT License
2 stars 0 forks source link

We should remove react package from the dependencies #145

Open joaoprcosta opened 2 weeks ago

joaoprcosta commented 2 weeks ago

Is your feature request related to a problem? Please describe. When installing a component in a project, @douro-ui/react is a major dependency. In some cases, it is only used to import ThemeProvider into the storybook. Having this connection could cause bump version problems and it doesn't allow the project to decide what technology wants to use.

Describe the solution you'd like We need to find a solution to remove this dependency from any components package.

Describe alternatives you've considered Each component must be responsible for receiving the values needed as a parameter. This is just an example.

JuniorDiasOliveira commented 1 week ago

Is your feature request related to a problem? Please describe. When installing a component in a project, @douro-ui/react is a major dependency. In some cases, it is only used to import ThemeProvider into the storybook. Having this connection could cause bump version problems and it doesn't allow the project to decide what technology wants to use.

Describe the solution you'd like We need to find a solution to remove this dependency from any components package.

Describe alternatives you've considered Each component must be responsible for receiving the values needed as a parameter. This is just an example.

All the components that are using @douro-ui/react depend on it to access the hook "useTheme", which is exported from there.

joaoprcosta commented 1 week ago

Is your feature request related to a problem? Please describe. When installing a component in a project, @douro-ui/react is a major dependency. In some cases, it is only used to import ThemeProvider into the storybook. Having this connection could cause bump version problems and it doesn't allow the project to decide what technology wants to use. Describe the solution you'd like We need to find a solution to remove this dependency from any components package. Describe alternatives you've considered Each component must be responsible for receiving the values needed as a parameter. This is just an example.

All the components that are using @douro-ui/react depend on it to access the hook "useTheme", which is exported from there.

Correct. But it shouldn't depend. We must find a way to pass the theme optionally without using the useTheme. The components must be agnostic from each framework/library.

An example, is a component wrapped with ThemeProvider from emotion has the theme object as a prop. We could manage the styles from here, or if we use for example other framework, the framework is responsible for passing the object with the styles.

This could be complex, but at least we should try :)