1.20.5 • Published 3 months ago

interchain-id v1.20.5

Weekly downloads
-
License
SEE LICENSE IN LI...
Repository
-
Last release
3 months ago

Interchain UI Kit

🎨 What is Interchain UI?

Interchain UI is a foundation library for UI elements used in cosmos-kit and other packages. It provides developers with pre-built components and a foundation for creating user interfaces across different frameworks, such as VueJS, React, Angular, Svelte, SolidJS, and Web Components, enabling developers to customize UI elements and themes. This 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/vue

Setup and scripts for development

  • yarn && yarn bootstrap to bootstrap the repo
  • yarn dev to watch the repo for changes and then recompile
  • yarn compile to compile from mitosis components to other packages, you can give it a flag -p or --platforms .ie yarn compile -p react vue
  • yarn c:react or yarn c:vue to compile specifically to react or vue
  • yarn clean to clean .node_modules or yarn clean:assets to clean build/compile output

Overview and structure

Overview 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.ts files, this is because we use a styling solution called vanilla-extract to 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.

Icon

Check Icon guide to know how to add more icons

Our Website

⚛️ https://cosmology.zone/products/interchain-ui

Related

Checkout these related projects:

  • @cosmology/telescope Your Frontend Companion for Building with TypeScript with Cosmos SDK Modules.
  • @cosmwasm/ts-codegen Convert your CosmWasm smart contracts into dev-friendly TypeScript classes.
  • chain-registry Everything from token symbols, logos, and IBC denominations for all assets you want to support in your application.
  • cosmos-kit Experience the convenience of connecting with a variety of web3 wallets through a single, streamlined interface.
  • create-cosmos-app Set up a modern Cosmos app by running one command.
  • interchain-ui The Interchain Design System, empowering developers with a flexible, easy-to-use UI kit.
  • starship Unified Testing and Development for the Interchain.

Credits

Checkout mitosis from BuilderIO to compile lite JSX.

🛠 Built by Cosmology — if you like our tools, please consider delegating to our validator ⚛️