interchain-ui v1.1.0-beta.10
Cosmology UI Kit
📣 What is this project?
Cosmology UI Kit is a foundation library for all UI elements used in cosmos-kit and other packages.
The main features of Cosmology UI Kit is that it's cross-framework, easy to use and extend and allows developers to customize their own custom themes.
It is based on a project called mitosis from BuilderIO to compile from a mutual format (lite JSX) to other frontend framework source code, which gives us
the ability to code a component once, and it will compile to all framework targets.
Setup
# If you use react
yarn add @interchain-ui/react
# If you use vue
yarn add @interchain-ui/vueSetup and scripts for development
yarn && yarn bootstrapto bootstrap the repoyarn devto watch the repo for changes and then recompileyarn compileto compile from mitosis components to other packages, you can give it a flag-por--platforms.ieyarn compile -p react vueyarn c:reactoryarn c:vueto compile specifically to react or vueyarn cleanto clean.node_modulesoryarn clean:assetsto clean build/compile output
Overview and structure
We create components inside a single source of truth folder <root>/src with Mitosis lite JSX format, then through our compiler, it's going to compile our components and build it in sub packages' src and dist.
When we publish packages, we are actually publishing the sub packages generated from <root>/src, which are packages/react and packages/vue, not the <root>/src itself.
The compiler is a wrapper over @builder.io/mitosis CLI with some extra source code handling logic and some nice CLI add-ons like arguments handling...etc.
There are some rules of thumbs and some tips for creating Mitosis components:
- File names must end with
*.lite.tsx - Style sheets must be in
*.css.tsfiles, this is because we use a styling solution calledvanilla-extractto have a CSS-in-JS API across all frameworks. - For a component, you must use default export, not named export. This is a limitation of Mitosis
- There are more rules and limitations, please read more about Mitosis here
- To quickly test to see the compilation result from one Mitosis to any framework source code, please use mitosis sandbox. It's similar to TS playground but for Mitosis testing purpose.
Our Website
Credits
🛠 Built by Cosmology — if you like our tools, please consider delegating to our validator ⚛️
2 years ago