-
-
Notifications
You must be signed in to change notification settings - Fork 302
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
Feature Request: Plugins for other component libraries #71
Comments
Thank for the suggestion! It would be awesome to have an agnostic core, we will think about it :) |
Really innovative @shinework .
This way you can have the community extend this as they want and only provide the specialized chakra implementation and maintain that as the core . I was looking at https://webcodesk.com/, https://reactuibuilder.com/ but the developer experience the focus of |
I also found that OpenChakra has hard coded (chakraui related) symbols defined all over in multiple files, So I took a chance to make the configuration centralized and thus a step towards making it easier to add new components or even a new UI library, although the inspectors are probably very chackraui specific. This is very hackish and unfinished, but seems promising so far: https://github.com/dsd-sztaki-hu/openchakra/tree/generalization |
After some heavy restructuring and refactoring I now have a version of OpenChakra, which works pretty much as @tsukhu suggested: there's a core "page builder", which can be configured with a
import {ComponentDefinitionsProvider} from "~contexts/component-definition";
import {chakrauiComponentDefDefaults, chakrauiComponentDefs} from "~chakraui/componentDefs";
import ComponentDefinitions from "~core/ComponentDefinitions";
const componentDefs = new ComponentDefinitions(chakrauiComponentDefs, chakrauiComponentDefDefaults)
const Main = ({ Component, pageProps }: AppProps) => (
<BugsnagErrorBoundary>
<ComponentDefinitionsProvider definitions={componentDefs}>
<ChakraProvider resetCSS theme={theme}>
<AppErrorBoundary>
<Component {...pageProps} />
</AppErrorBoundary>
</ChakraProvider>
</ComponentDefinitionsProvider>
</BugsnagErrorBoundary>
)
export default initStore(componentDefs).withRedux(Main) |
…nd disliked on resource
…aling with origin directly
It would be really nice if we can have the ability to load plugins that provide components from other libraries such as AntD or Materialize or react-bootstrap etc.
I actually forked and started converting all components to AntD, then realized a lot of the code is very generic. Would be awesome if there were just a few interfaces to implement to provide a component library and load as an npm module.
The text was updated successfully, but these errors were encountered: