// the find
bluzky/salad_ui
Phoenix Liveview component library inspired by shadcn UI
SaladUI is a Phoenix LiveView component library that ports the shadcn/ui design system to Elixir. It gives you ~35 pre-built components (buttons, dialogs, dropdowns, forms, etc.) styled with Tailwind, either as a library dependency or copied locally for full customization. Aimed at Phoenix developers who want a React-like component library feel without leaving Elixir.
The two-mode install (library vs. local copy) is the right call — it mirrors exactly how shadcn works and lets you start fast or go custom without fighting the library. The JavaScript layer is custom-written (state machines, focus traps, portals) rather than leaning on Alpine.js or similar, which means fewer third-party dependencies and predictable LiveView hook integration. The storybook is live and deployed, so you can browse components before committing. Active maintenance with a clear changelog and CI badges that actually run.
The README openly admits unit tests don't exist for v1 components — that's a real problem when you're trying to verify behavior after upgrading or customizing. Several components are missing entirely (Carousel, Combobox, Context Menu, Drawer, Input OTP) and they've been marked absent since v0 with no timeline. Still in beta, so the API can break between minor versions without warning — not great if you've copied and customized 20 components locally. The JavaScript state machine approach is clever but adds a custom abstraction layer you'll have to debug yourself when something breaks in production.