LycanUI
LycanUI

Getting Started

Introduction Installation Forms

Components

Accordion Alert Avatar Badge Button
Calendar - Soon TM
Checkbox
Date Field - Soon TM
Collapsible Dialog Dropdown Input Popover Radio Select Switch Textarea
Toaster - Soon TM

Introduction


An open-source collection of accessible components for any Rails project.

With Lycan UI, we strive to create the definitive way for Rails developers to build wonderful interfaces. Whether that's through using our full ecosystem via the gem, or just copy pasting from our GitHub. It's all open and up for grabs. Use what you need and leave behind what you don't.

We've build Lycan UI with these core principles

  • All the components are yours, forever, for free.
  • Stick to the Rails way as much as possible, keep it simple.
  • Accessibility is a core requirement, not an afterthought.
  • Provide reasonable defaults, but allow escape hatches where necessary.

If you encounter any problems or bugs, you are encouraged to open an issue on Github .

Features


Generators

Most component libraries generally have you install some gem or npm package that hides away all the code from you. Making it incredibly frustrating to customize them to fit the ever-changing design needs of your application. We sidestep by utilizing Rails generators . So, all of the code is effectively copy pasted right into your application.

No more hacky CSS overrides, no more weird JS workarounds.

The Rails Way

Everything that gets generated tries it's best to stick to plain ol' Rails. Our components are just Ruby objects. We don't use any extra component systems like Phlex or View Component. It's all built on top of Rails helpers, with a sprinkle of Stimulus and a dash of Turbo to pull everything together.

Accessible By Design

We follow WAI-ARIA design patterns and handle all the annoying parts like aria attributes, role management, focus, and keyboard navigation.

Reasonable Defaults

Lycan UI is built with the philosophy of Reasonable Defaults with easy escape hatches. We've picked some nice defaults for styling and functionality, but it's all (hopefully) quite easy to modify and tweak to your liking.

Inspiration


Some of the projects that inspired this in no particular order: