The Type-Safe Future of React
Without JSX
Build React applications using pure JavaScript function calls. Full TypeScript inference. Zero compilation overhead. Standard React under the hood.
Type-safe API
RSC Ready
Theme-driven
Standard React
One Language. One Mental Model.
No context switching between XML and JavaScript. No angle brackets. Just pure functions and full TypeScript inference.
Direct TypeScript Inference
Node(Component, { ... }) is a normal function call. TypeScript validates props directly against the component's signature — no JSX factory overhead, no ambient type declarations.
Zero Context Switching
Stay in expression position throughout. No bouncing between JSX grammar and JavaScript logic. No IIFEs, no extracted variables — just functions calling functions.
Genuine Performance
Memoize any node with a dependency array. Empty array [] makes a node static — render once, never update. RSC compatible. Standard React, optimized.
Function Calls, Not Syntax Sugar
Every component is a function. Props are type-checked at the call site. Children pass naturally. Layout composes like Lego.
TodoApp.ts
Hover over lines on desktop to see annotations
60+ Function-Based Components
From layout primitives to form inputs. Every HTML element exposed as a type-safe function. Children-first for content. Props-first for containers.
Layout & Containers
Div, Column, Row, Grid, Center, Fixed, Relative, Absolute, Sticky, Root
Typography
H1-H6, Text, Span, P, Label, Code, Pre, Blockquote
Forms & Inputs
Input, Button, TextArea, Select, Option, Label, Form, Fieldset
Lists & Tables
Ul, Ol, Li, Table, Thead, Tbody, Tr, Td, Th
Media & Embeds
Img, Video, Audio, Iframe, Canvas, Svg, Source
Interactive
A, Button, Details, Summary, Dialog, Menu
Document Structure
Header, Footer, Main, Nav, Section, Article, Aside
Theme & Portal
ThemeProvider, StyleRegistry, PortalProvider, PortalHost
Live Playground
Context-Based Theming with Automatic Value Resolution
Define your theme object once. Wrap your app with ThemeProvider. Reference tokens anywhere using string paths — 'theme.primary', 'theme.base.content'. No prop drilling. No context consumers. The styling engine resolves values automatically.
Light / Dark / Custom modes
CSS properties as direct props — no style={{ }} wrapper
Pseudo-classes & media queries via css prop
Numbers auto-converted to px
Theme Tokens
primary.default
#FF6B6B
primary.content
#4A0000
secondary.default
#6BCB77
secondary.content
#0A3B0F
accent.default
#4ECDC4
accent.content
#1A4A47
warning.default
#FFE66D
warning.content
#665A00
base.default
#1A1A24
base.content
#F0F0F5
Works Where React Works
Drop MeoNode into any React project. Next.js, Vite, Remix, or plain React. JSX components and MeoNode nodes compose seamlessly.
Next.js
Next.js
Vite
Vite
React
React
TS
TypeScript
Page.ts
Ready to Ditch the Angle Brackets?
Install @meonode/ui today and experience the most natural way to build type-safe React applications.
npm install @meonode/ui react react-dom