bluzky

bluzky

SaladUI - Phoenix liveview components inspired by shadui

You may know https://ui.shadcn.com/, a UI component library for React. I really love it’s design style and components. I’ve built some components for my project GitHub - bluzky/orangecms: Admin interface for your static site.

I was thinking of reimplement these components as a library. And after a few weeks, here is some thing I can show you guys.

A demo worth thousands of words

https://salad-storybook.fly.dev

And github repos

Your contributions and feedbacks are welcome

381 12392 119

Most Liked

bluzky

bluzky

Update Oct 19th

I’m so excited to announce release new version of SaladUI with a huge thank to Selenil

  • In this version SaladUI provide 2 mix tasks that help you to configure library quickly with a single command instead of manually making change to bunch of files.

  • Mix task also allows you to install only components that you need, as a part of your project, so you can easily customize components the way you want.
    Here is the usage:

  • mix salad.init --as-lib configure SaladUI and use as a library

  • mix salad.init configure SaladUI as a part of your project, then you can install only components that you want

  • mix salad.add install one or more components to your project

Thanks all contributors that make this release happen.

Release v0.9.0

  • @ashkan117: fix: Explicitly include the attributes to avoid lsp warning
  • @selenil: feature: :rocket: Add mix task for init & install salad_ui components
  • @forest: fix input warning
  • @bluzky: fix overriding input name/value not working
  • @bluzky: feature: Add support for custom error translation function
bluzky

bluzky

Update Oct 5th

Hi guy, I’m happy to show you some updates from SaladUI.
I’ve added a demo for using SaladUI input components in form.
https://salad-storybook.fly.dev/examples/form_demo

Release v0.8.0

  • Add support Form.Field for all input components

Breaking changes
This version introduce some change to unify interface and term for some components:

  • Toggle.toggle change pressed attribute → value
  • Select change instancebuilder
  • Tab.tab_trigger change root attribute → builder and required exposing builder from the tabs
bluzky

bluzky

We’re excited to announce SaladUI v1 alpha, our accessible component library for Phoenix LiveView!

What’s New

  • Enhanced Accessibility: Improved ARIA support and keyboard navigation
  • Mini JS Framework: State machine-based component architecture
  • Advanced Component System: Better tools for building complex interactive components
  • Server-Client Commands: Improved API to control components from the server
  • Better Event Handling: Standardized event system across all components

Try it at Salad UI - Dropdown Menu
Github repo: GitHub - bluzky/salad_ui: Phoenix Liveview component library inspired by shadcn UI

There are many bugs, outdated document. I’m spending most of time on my team project so I’ll gradually update. Please open issue.

We welcome your feedback!

bluzky

bluzky

To actually touch every component and make their interface useful and serve common usecases, I’m working on a demo admin template.

Here is a demo for those who are interesting.

Demo

Where Next?

Popular in Libraries Top

Qqwy
Solution is a library to help you with working with ok/error-tuples in case and with-expressions by exposing special matching macros, as ...
New
mhanberg
I just released the first version of Temple: an HTML DSL for Elixir and Phoenix! You can read this blog post or the docs for more info...
New
wojtekmach
Hey everyone! Req is an HTTP client for Elixir that I’ve been working on for quite some time. There is already a lot of HTTP clients out...
New
kevinlang
Hey all, We have made an Ecto3 Adapter for SQLite3, ecto_sqlite3! We have successfully on-boarded the full suite of integration tests (...
New
entone
ExARI An Elixir library for interfacing with Asterisk using the ARI protocol. Be sure to check out the example application https://git...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 35421 110
New
josevalim
EDIT: since Ecto 3.0 final version is out, this post was amended to use the final versions in the instructions below. Hi everyone, We a...
New
michalmuskala
Another small library today. PersistentEts Hex: persistent_ets | Hex GitHub: GitHub - michalmuskala/persistent_ets Ets table backed by...
New
MRdotB
I needed to reuse React components from my Chrome extension in my Phoenix/LiveView backend. I noticed that for Svelte/Vue, there are live...
New
Qqwy
Hello everyone, I wrote a small library today called MapDiff. It returns a map listing the (smallest amount of) changes to get from map...
New

Other popular topics Top

belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
peerreynders
Manning 2016 Halloween weekend sale via Deal of the Day Friday, October 28 - Half off all MEAPs - code WM102816LT Saturday, October 29 ...
326 29600 154
New
chrisalley
ExUnit now has describe blocks which is a welcome addition coming from RSpec. In the docs, it states that nested hierarchies of describe ...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: https://hexdocs.pm/ecto/Ecto.Schema.html#module-...
New
polypush135
As many of you may have realized by now (sorry for all the posts here) I’ve been working on a db problem where I’m trying to aggregate a ...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? https://hexdocs.pm/ecto/Ecto.Repo.h...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New

Sub Categories:

We're in Beta

About us Mission Statement