Skip to main content
PROYECTOVIVIANA

Getting Started

Proyecto Viviana is a SolidJS component library inspired by Adobe's React Spectrum. It provides accessible, high-quality UI components built on top of solidaria — a port of React Aria for SolidJS.

Features

  • Accessible by default — Built on WAI-ARIA patterns with full keyboard navigation
  • 60+ Components — From buttons to data tables, calendars to color pickers
  • 100+ ARIA Hooks — Low-level hooks for building custom accessible components
  • SSR Compatible — Works with TanStack Start and other SSR frameworks
  • Compiled styles — Spectrum tokens compiled to a static stylesheet, themed through CSS custom properties

Quick Example

Here's a simple button component in action:

import { Button } from '@proyecto-viviana/solid-spectrum';

function App() {
  const [pressed, setPressed] = createSignal(false);

  return (
    <Button onPress={() => setPressed(true)}>
      {pressed() ? 'Pressed' : 'Click me'}
    </Button>
  );
}

Package Architecture

The library is organized into four packages:

@proyecto-viviana/solid-stately
State management hooks (createToggleState, createListState, etc.)
@proyecto-viviana/solidaria
ARIA hooks for accessibility (createButton, createMenu, etc.)
@proyecto-viviana/solidaria-components
Headless components with render props (Button, Menu, Dialog, etc.)
@proyecto-viviana/solid-spectrum
Styled components ready to use (Button, Select, Table, etc.)

Next Steps

  • Installation — Set up the packages in your project
  • Components — Explore the component library
  • Hooks — Build custom components with ARIA hooks