Early — Box is the first component shipped

chakra-ui-solid is a component system for building products with speed

Accessible SolidJS components for building high-quality web apps and design systems. Zero runtime CSS

Start building
pnpm add chakra-ui-solid

SolidJS 2.0 · Panda CSS in your build · ESM only

This is the Box

Box

p="4" borderWidth="1px"

Style props

bg.subtle
bg.emphasized
colorPalette.subtle

Semantic tokens

Hover me

Conditional styles

Render prop

Design system

Build your design system on top of chakra-ui-solid

Spend less time writing UI code and more time building a great experience for your customers.

  • Tokens. Streamline design decisions with semantic tokens

  • Typography. Set your font properties once and use them everywhere

  • Recipes. Design component variants with ease

import { defineChakraConfig } from "@chakra-ui-solid/panda-preset";

export default defineChakraConfig({
  theme: {
    extend: {
      semanticTokens: {
        colors: {
          brand: {
            value: { base: "{colors.teal.600}", _dark: "{colors.teal.400}" },
          },
        },
      },
    },
  },
  include: ["./src/**/*.{ts,tsx}"],
  outdir: "styled-system-app",
});

Parity

The same API and tokens, without the runtime headache

This is as close to Chakra v3 parity as is achievable without runtime CSS-in-JS — not a 1:1 port, and it does not pretend to be one.

You get

  • Chakra v3's component API, part for part
  • Its design system, through the official Panda preset
  • Its theming config — tokens, semantic tokens, recipes — in panda.config.ts
  • Zag.js behavior and the ARIA that comes with it
  • Style props, recipes, variants and colour mode

You do not get

  • Style values computed while the app runs
  • asChild — polymorphism is a render prop, and it takes a function

Works with your favorite SolidJS framework

One guide each, one screen long, because the difference between them is a build setting rather than a provider.

What is not here yet

This library is being built one batch at a time

A component gets its docs page in the same phase it ships, so anything missing from the sidebar has not been written yet rather than gone undocumented.

Charts are excluded outright, and on a dependency ground rather than a styling one: Chakra's chart tier peer-depends on Recharts and React, and there is no Solid charting substrate to bind to.