Skip to content

Components

An overview of the components in @smalt-ui/core, a UI library for Vue 3 and Nuxt. All components are built on Reka UI (accessibility, keyboard, focus management), styled with design tokens, and isolated from the host app's styles. Each page has live examples and an API table generated directly from the types and JSDoc.

Components are named with the S prefix (SButton, SInput, …) and grouped by purpose.

Basics

Basic building blocks reused by other components.

  • Button — a button with variants, sizes, and icon slots
  • Icon — an SVG icon from a name registry (Lucide)
  • Badge — a compact label or counter
  • Tag — a removable chip tag (also used in use-tags fields)
  • Avatar — an avatar with a fallback

Forms

Inputs on the shared SFormField frame (label, hint, error message, a11y relationships).

Date and time

Fields and calendars on @internationalized/date.

Moving between sections and contextual action menus.

Overlays

Popup surfaces and dialogs (portals, focus management).

Feedback

Messages and status indicators.

Other

Layout, containers, and expandable content.