element.version === currentVersion)) { versionNodes.unshift({ version: currentVersion, url: "#" }); } document.querySelector("#project-version").innerHTML = versionNodes.reduce( (acc, element) => { const status = currentVersion === element.version ? "selected disabled" : ""; return ` ${acc} `; }, `
glizzy · v0.1.0

Glizzy UI

Glizzy UI Logo

A shadcn/ui-inspired UI library for Gleam and Lustre

Hex Version Documentation License


What is Glizzy UI?

Glizzy UI is a comprehensive UI component library built for Gleam and Lustre. Inspired by shadcn/ui, it provides beautifully designed, accessible, and customizable components for building modern web applications.

Features

  • 60+ Components - Buttons, inputs, dialogs, navigation, layout, and more
  • Accessible - WAI-ARIA compliant with keyboard navigation
  • Customizable - Easy to theme and style
  • Type-Safe - Full Gleam type safety
  • Zero Dependencies - Built on Lustre 5.x

Quick Start

Installation

gleam add glizzy

Usage

import glizzy/ui/button
import lustre.{type Msg, element}
import lustre/element.{button, text}

fn view(msg: Msg) -> element(Msg) {
  button.button(
    ~{
      variant: button.Primary,
      size: button.Default,
      disabled: False,
      onclick: Some(Clicked),
    },
    [text("Click me!")],
  )
}

Components

CategoryComponents
CoreButton, Checkbox, Input, Radio, Select, Slider, Switch
FormsCalendar, Date Field, Date Picker, Number Field, Search Field, Text Field, Time Field
LayoutBox, Cluster, Stack, Sequence, Centre, Aside, Divider, Separator
NavigationBreadcrumbs, Link, Menu, Tabs, Toolbar
OverlayDialog, Modal, Popover, Tooltip, Disclosure
Data DisplayAvatar, Badge, Chip, KBD, Table, Tree
FeedbackAlert, Meter, Progress Bar, Skeleton, Spinner, Toast
SelectionAutocomplete, Checkbox Group, Combobox, Grid List, List Box, Radio Group, Tag Group, Toggle Button
ColorColor Area, Color Field, Color Picker, Color Slider, Color Swatch, Color Wheel
AdvancedDrop Zone, File Trigger, Virtualizer, Split Panel

Documentation

Examples

Check out the example application for a complete demo of all components.

cd examples/lustre_app
gleam run

Development

Build

gleam build

Test

gleam test

Format

gleam format

E2E Tests

bun install
bunx playwright test

License

MIT License - see LICENSE for details.

Acknowledgments

  • shadcn/ui - Design inspiration
  • Lustre - The Elm-inspired FRP library for Gleam
  • Gleam - The friendly language for robust type systems
Search Document