uiloos makes creating component libraries easier and faster

uiloos is a headless UI library which provides common components without any styling. You create the design and "uiloos" provides the behavior.

PSST: the above animation was created using the Typewriter component! Compose your animation here.

Behavior vs look and feel

You handle the look and feel of your application / website and let uiloos handle the behavior. Spend more time configuring behavior instead of coding it, try it out yourself:

const carousel = new ActiveList (
[ 1, 2, 3, 4, 5 ]
[ 0 ]
autoPlay: {
duration :
} ,
cooldown: 500
) ;

Click on the buttons above to trigger a flash message of that type.

Higher priority (the lower the number the higher the priority) messages are shown above lower priority messages.

const flashMessageChannel = new ViewChannel ();
export function infoFlashMessage ( text ) {
flashMessageChannel .present({
data: {
id: Math.random(),
type: 'info'
priority: ,
autoDismiss: {
duration: ,
result: undefined
const datePicker = new DateGallery (
mode: ,
firstDayOfWeek: ,
numberOfFrames: ,
maxSelectionLimit: ,
} ,
) ;

Works with your stack

Use your favorite framework / library, or simply go vanilla. uiloos will work with your current stack and enhance it.

React logo


Use ready made React components and hooks.

Vue logo


Use pre-baked Vue components and composables.

JavaScript unofficial logo


Use predefined Svelte stores.

JavaScript unofficial logo


Marry uiloos and alpine with "data" and "store" bindings.

JavaScript unofficial logo


Simply works out of the box.

JavaScript unofficial logo


Or use no framework at all and listen to changes yourself

What uiloos provides

See what uiloos means for your role via a letter written just for you

Ready to get started?

"uiloos" is just an `npm install` away

Get started