Customization
For the complete documentation index, see llms.txt. Prefer markdown by appending .md to documentation URLs or sending Accept: text/markdown.

Components

Kumo React components for your Edge app, with accessible controls, component variants, reusable views, and translated interface copy.

Kumo is Cloudflare's React component library, built on Base UI and Tailwind CSS. Edge Kit uses it for controls, forms, overlays, navigation, and other common interface patterns.

The components give you consistent behavior and styling to build on. Your product's layouts and feature views remain ordinary React components that you can change freely.

Why Kumo?

Kumo is designed to provide a consistent and reliable component library for building modern web applications.

It is built on Base UI and Tailwind CSS, which are both popular and well-supported libraries.

Component library

Use Kumo's existing controls before building a custom version. Buttons, inputs, dialogs, tables, and other components expose variants for common sizes and states.

The installed CLI provides the documentation for your checkout:

pnpm exec kumo ls
pnpm exec kumo doc Button

You can also browse the component reference.

Usage

Import the component you need through its subpath, keeping imports focused:

import { Button } from "@cloudflare/kumo/components/button";

import { m } from "@/lib/i18n/messages.js";

export function SaveButton() {
  return <Button variant="primary">{m.save()}</Button>;
}

Use component props for supported variants and states, then Tailwind classes for layout. Shared colors and fonts belong in your styling configuration.

Shared views

Keep reusable application components in the shared UI area and feature-specific components with their feature. A common confirmation dialog belongs in shared UI; a subscription settings view belongs with billing.

Compose existing controls into forms and screens so keyboard behavior, labels, and loading states stay consistent. When wrapping a component, preserve its accessibility props and event handling.

Interface copy

Use generated translation messages for visible text, placeholders, and accessibility labels. The kit's lint rules help keep new screens ready for the supported languages.

Custom components

You can introduce your own React components or another compatible library. Check accessibility, server rendering, React support, and the effect on your Worker bundle before adopting it.

Review keyboard navigation, focus, loading and error states, narrow screens, and both color modes. The browser tests provide a place to cover the complete interaction.

How is this guide?

Last updated on

On this page

Ship globally on the edge. In minutes.Try Edge Kit