Skip to content

marcloveUSN/Umbraco.UI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4,592 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UI Library

Build Storybook build Quality Gate Status npm GitHub license

A collection of 80+ web components for building Umbraco CMS interfaces. Built with Lit and TypeScript. Browse them in the Storybook.

Installation

npm install @umbraco-ui/uui

Requirements: Node >= 24.13, npm >= 11. Runtime dependency: Lit ^3.0.0.

Quick start

Import only the components you need — your bundler will tree-shake the rest:

import '@umbraco-ui/uui/components/button/button.js';
import '@umbraco-ui/uui/components/input/input.js';
<uui-button look="primary" label="Save"></uui-button>
<uui-input label="Name"></uui-input>

Or register everything at once with import '@umbraco-ui/uui';.

Include a theme for CSS custom properties and typography:

<link
  rel="stylesheet"
  href="node_modules/@umbraco-ui/uui/dist/themes/light.css" />

Apply the uui-font and uui-text classes to the element that should carry UUI typography (typically <body>):

<body class="uui-font uui-text">
  ...
</body>

No bundler? Use UUI directly in the browser via import maps.

Components

80+ components across 13 categories: Buttons, Inputs, Color, Cards, Refs, Feedback, Layout, Forms, Navigation, Icons, Files, Symbols, and Data.

Each component has its own README in src/components/{name}/.

Documentation

See docs/ for the full documentation index.

Development

Setup

Requires Node.js >= 24.13 (see .nvmrc) and npm >= 11.

git clone https://github.com/umbraco/Umbraco.UI.git
cd Umbraco.UI
npm install

Key commands

Command Description
npm run storybook Start Storybook dev server on port 6006
npm run build Build the library (Vite + TypeScript declarations)
npm run test Run all tests with coverage
npm run test:coverage-for button Run tests for a single component
npm run lint Lint with ESLint
npm run format Auto-fix lint and formatting

See docs/SCRIPTS.md for the full list.

Project structure

src/
├── internal/     # Mixins, events, types, registration
├── styles/       # CSS custom properties and text styles
├── themes/       # Light and dark theme CSS
├── components/   # 80+ component directories
└── index.ts      # Barrel — re-exports everything

Branching model

  • main — development branch, PR target (storybook)
  • production — published release, serves Storybook at uui.umbraco.com
  • release/* — intermediary releases (RCs)

Contributing

Pull requests and stars are always welcome. Read the contributing guide to get started.

Report bugs and feature requests in the issue tracker.

License

MIT

About

Umbraco UI Components

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 96.6%
  • CSS 1.7%
  • JavaScript 0.9%
  • MDX 0.5%
  • HTML 0.2%
  • Handlebars 0.1%