Skip to content

DanielAlcaraz/vacui-ui

Repository files navigation

Vacui UI

Vacui UI npm version License Angular TypeScript

A fully customizable headless UI library for Angular applications

Features

  • Headless Architecture: All the functionality without the styling constraints.
  • Highly Performant: Built with performance in mind.
  • Accessibility-First: Designed with ARIA standards from the ground up.
  • Modular Design: Tree-shaking. Import only what you need.
  • TypeScript Powered: Full type safety and great developer experience.

Installation

npm install @vacui-kit/primitives

Getting Started

Prerequisites

  • Angular v17.3.0 or higher

Basic Usage

Import the modules for the primitives you want to use:

import { CollapsiblePrimitivesModule } from "@vacui-kit/primitives/collapsible";

For more granular control, you can import specific directives:

import { 
  CollapsibleRootDirective, 
  CollapsibleContentDirective, 
  CollapsibleTriggerDirective 
} from "@vacui-kit/primitives/collapsible";

Using in Templates

Here's a simple example using the Collapsible component:

<div vacCollapsibleRoot [(open)]="open">
  <div>
    <h3>Header content</h3>
    <button vacCollapsibleTrigger class="toggle-button">
      <icon [name]="open ? 'Up' : 'Down'"></icon>
    </button>
  </div>
  <div vacCollapsibleContent class="content">
    This is the content that will be shown or hidden based on the collapsible state.
  </div>
</div>

Documentation

For comprehensive documentation and examples, visit our documentation site https://vacui-ui.com.

Contributing (Coming soon)

We welcome contributions! Please read our contributing guidelines to get started.

Development Setup

# Install dependencies
pnpm install

# Start the development server
pnpm nx serve docs

# Running unit tests
pnpm nx test primitives

# Running storybook
pnpm nx storybook primitive

License

Vacui UI is MIT licensed.

Acknowledgements

About

Resources

License

Stars

Watchers

Forks

Packages

No packages published