Skip to content

Reflex-native component library built on base HTML elements #6247

@masenf

Description

@masenf

Replace Radix Themes as the default component library with a Reflex-native set of components built on base HTML elements and Tailwind CSS.

Motivation

Radix Themes is a powerful component library, but shipping it as the core default has drawbacks:

  • It's a large dependency that not every project needs
  • It imposes Radix's design opinions on all Reflex apps
  • Customizing beyond what Radix exposes is difficult
  • It ties the framework's component story to an external project's release cycle

A Reflex-native library built on plain HTML elements + Tailwind gives users full styling control, smaller bundles, and no external component framework lock-in.

Scope

  • Build a core set of UI components (buttons, inputs, selects, dialogs, tabs, etc.) using base HTML elements with Tailwind styling
  • These become the default components shipped with reflex-html (see monorepo split ENG-9185)
  • Radix Themes continues to be maintained as reflex-radix — fully supported, just no longer the default
  • The new components should be easy to theme and extend

Related

  • ENG-9185 — Monorepo split (reflex-html and reflex-radix as separate packages)
  • ENG-4136 — Top-level / extensible theming
  • ENG-4952 — Reduce External Dependencies (Radix section)
  • ENG-20 — "New Core Library" (cancelled, 2023)

Roadmap

Part of the Reflex Framework Roadmap — Component Library & UI section.

Metadata

Metadata

Assignees

No one assigned

    Labels

    roadmaphttps://github.com/reflex-dev/reflex/issues/2727

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions