View Source SaladUI
An attemp to bring shadcn ui components to Phoenix Liveview.
Demo at https://salad-storybook.fly.dev
Installation
- Using
salad_uias part of your project:
- Adding
salad_uito your list of dependencies inmix.exs:
def deps do
[
{:salad_ui, "~> 0.12.0", only: [:dev]},
{:tails, "~> 0.1"}
]
end- Init Salad UI in your project
#> cd your_project #> mix salad.init # install some components #> mix salad.add label button
- Using
salad_uias a library:
- Adding
salad_uito your list of dependencies inmix.exs:
def deps do
[
{:salad_ui, "~> 0.12.0", only: [:dev]}
]
end- Init Salad UI in your project with option
--as-lib#> cd your_project #> mix salad.init --as-lib
More configuration
- Custom error translate function
config :salad_ui, :error_translator_function, {MyAppWeb.CoreComponents, :translate_error}Development
Here is how to start develop SaladUI on local machine.
- Clone this repo
- Clone
https://github.com/bluzky/salad_storybookin the same directory withSaladUI - Start storybook
cd salad_storybook mix phx.server
Unit Testing
In your project folder make sure the dependencies are installed by running mix deps.get, then once completed you can run:
mix testto run tests once or,mix test.watchto watch file and run tests on file changes.
To run the failing tests only, just run mix test.watch --stale.
It's also important to note that you must format your code with mix format before sending a pull request, otherwise the build in github will fail.
List of components
- ✅ Accordion
- ✅ Alert
- 🚧 Alert Dialog
- ✅ Avatar
- ✅ Badge
- ✅ Breadcrumb
- ✅ Button
- ✅ Card
- [ ] Carousel
- ✅ Chart
- ✅ Checkbox
- 🚧 Collapsible
- [ ] Combobox
- [ ] Command
- [ ] Context Menu
- ✅ Dialog
- [ ] Drawer
- ✅ Dropdown Menu
- ✅ Form
- ✅ Hover Card
- ✅ Input
- [ ] Input OTP
- ✅ Label
- ✅ Pagination
- ✅ Popover
- ✅ Progress
- ✅ Radio Group
- ✅ Scroll Area
- ✅ Select
- ✅ Separator
- ✅ Sheet
- ✅ Skeleton
- ✅ Slider
- ✅ Switch
- ✅ Table
- ✅ Tabs
- ✅ Textarea
- ✅ Tooltip
- ✅ Toggle
- ✅ Toggle Group
Credits
This project could not be available without these awesome works:
tailwind cssan awesome css utility projecttailsfor merging tailwind classshadcn/uiwhich this project is inspired fromPhoenix Frameworkof course