Version 26 Now Available

The One-Stop Shop for
Portals and Dashboards

Born from a decade of development in finance, telecom and legal, CxJS bakes in the UI patterns teams keep rebuilding. Open source, battle-tested, and now TypeScript-first.

A Complete UI Framework in One Package

Built as one cohesive system for data-driven web applications, with consistent patterns and a great developer experience.

Extensive Widget Library

  • Forms with validation and lookups
  • Tables with grouping, selection, and editing
  • SVG charts for dashboards and reporting

Navigation and App Shell

  • Client-side routing with URLs and history
  • Layouts and overlays: menus, windows, tooltips
  • Keyboard shortcuts and localization

Ecosystem-Friendly

  • Extends easily with React components
  • Tailwind CSS support and theming
  • Plays well with modern AI tooling

Domain-Friendly

  • Typed models as the source of truth
  • Functional components for your domain
  • Predictable data binding and formatting

Predictable Developer Experience

Typed models, consistent binding, and layout primitives keep screens easy to build, easy to refactor, and easy to autocomplete.

  • JSX that stays clean as screens grow
  • Typed models for safe refactoring
  • Autocomplete for props, bindings, and values
app/users/page.tsx
 1  import { TextField, LookupField } from 'cx/widgets';
 2  import { createModel, LabelsTopLayout } from 'cx/ui';
 3
 4  interface UserModel {
 5    firstName: string;
 6    lastName: string;
 7    email: string;
 8    countryId: number;
 9  }
10
11  const m = createModel<UserModel>();
12
13  export default (
14    <LabelsTopLayout columns={2}>
15      <TextField value={m.firstName} label="First Name" />
16      <TextField value={m.lastName} label="Last Name" />
17      <TextField value={m.email} label="Email" />
18      <LookupField value={m.countryId} label="Country" options={countries} />
19    </LabelsTopLayout>
);

Your Next Portal Starts Here

Explore the docs, try the examples, and start building today.

Get Started