Skip to content

Feature Request: Bring back HTML-only versions of UI Blocks (alongside Elements version) #1734

@schindlerchristian

Description

@schindlerchristian

I’d love to request a return of the classic HTML-only UI Blocks, as they were previously available in Tailwind UI before the introduction of @tailwindplus/elements.

Why this matters

The new components rely entirely on @tailwindplus/elements, including:

  • <el-popover>, <el-dialog>, <el-disclosure>, etc.
  • Attributes like popover, anchor, command, commandfor
  • Dynamic state classes like data-open:*, in-aria-expanded:*

While this is a clean and modern solution, it comes with some trade-offs:

Current Challenges

  • No alternative version available
    It’s no longer possible to get a raw HTML version of a component and add your own interactivity (via Vanilla JS, Alpine, etc.).

  • Unstable behavior in some browsers
    For example, we've experienced positioning bugs in Safari 18 due to Popover API issues (see: #1733

  • Less flexibility
    For many developers, it was helpful to have full control over behavior and lifecycle. That’s now more difficult due to the abstraction.

  • Increased friction
    To implement something with custom interactivity today, we need to:

    • Remove all @tailwindplus/elements logic and markup
    • Rebuild behavior from scratch

What would help

It would be great to have a HTML-only version of each UI Block (no custom elements or magic attributes)

Why this isn’t just nostalgia

Many of us prefer or require:

  • More direct control over behavior
  • Full transparency in markup and logic
  • Incremental enhancement strategies that work reliably across browsers and environments

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions