Overview
The onyxia-ui is a default design system created by Marc Hufschmitt. It is currently under active development and its APIs are subject to change until version 1. However, it is important to note that onyxia-ui is only compatible with single-page applications (SPAs) and not compatible with server-side rendering (SSR) or static site generation (SSG). The motivation behind creating this toolkit was to provide a better experience for TypeScript developers and address the difficulties in building responsive designs and customizing themes with Material-ui. The onyxia-ui toolkit aims to optimize TypeScript development, make responsive design implementation easier, provide built-in dark mode support, offer guided theme customization, and include a splash screen to hide components during loading.
Features
- Optimized for TypeScript development
- Easy implementation of responsive design
- Built-in support for dark mode
- Guided theme customization
- Splash screen for component loading
- Leverages a better styling API: TSS
Installation
To experiment with the onyxia-ui toolkit, you can run the demo app by following these steps:
- Clone the demo project repository.
- Configure JEST by adding the following line to your JEST configuration file:
"transformIgnorePatterns": [
"node_modules/(?!@onyxia-ui)"
]
Please note that if you are using Storybook, there may be some changes required in your .storybook/main.js file to make it use emotion 11 instead of emotion 10.
Summary
The onyxia-ui toolkit is a default design system developed by Marc Hufschmitt. It aims to provide an improved experience for TypeScript developers by optimizing development, making responsive design implementation easier, and offering guided theme customization. It also includes built-in support for dark mode and a splash screen for component loading. While it is currently under active development and not compatible with SSR or SSG, the onyxia-ui toolkit shows promise in enhancing the capabilities of Material-ui and providing a more seamless development experience.