Skip to content

Odyssee ComponentsUI Components for Pulse Framework

A comprehensive, reactive component library built with Pulse Framework, styled with Tailwind CSS and Preline

Odyssee Components

Quick Start ​

Install the package in your Pulse Framework project:

bash
npm install @odyssee/components

Import and use components:

tsx
import { Button, Input, Pulse } from '@odyssee/components';

const email = Pulse.signal('');

const form = (
  <form>
    <Input 
      label="Email"
      type="email"
      value={email}
      onChange={(val) => email(val)}
    />
    <Button type="submit">Submit</Button>
  </form>
);

Component Categories ​

Base Components ​

Essential UI elements for building interfaces:

  • Button - Versatile button with variants, sizes, and loading states
  • Alert - Notification messages with different severity levels
  • Badge - Small labels and tags for status indicators

Form Components ​

Complete form controls with validation and accessibility:

  • Input - Text input with label, hints, and icons
  • Select - Dropdown with options and groups
  • Checkbox - Checkbox with label and description
  • Radio - Radio button for single selection
  • RadioGroup - Grouped radio buttons
  • Toggle - Switch component with variants
  • Textarea - Multi-line text input with auto-resize
  • FileInput - File upload with preview
  • RangeSlider - Numeric range selection
  • ColorPicker - Color selection input
  • FormGroup - Container for organizing form fields

Overlay Components ​

Modal dialogs and overlays:

  • Modal - Dialog overlay with customizable content

Why Odyssee Components? ​

Pulse Framework Integration ​

Unlike traditional React or Vue libraries, Odyssee Components is built specifically for Pulse Framework. This means:

  • True Reactivity: Uses Pulse signals for fine-grained reactivity
  • No Re-renders: Components don't re-render, only specific DOM nodes update
  • Better Performance: No virtual DOM overhead
  • Smaller Bundle: Minimal runtime, maximum efficiency

Developer Experience ​

  • Full TypeScript support with comprehensive type definitions
  • Intuitive API that feels natural with Pulse
  • Extensive documentation with live examples
  • Easy to customize and extend

Production Ready ​

  • Battle-tested components used in production applications
  • Comprehensive test coverage
  • Regular updates and maintenance
  • Active community support

Learn More ​

Pulse Framework

New to Pulse Framework? Check out the Pulse Framework Guide to learn about signals, computed values, and effects.

Next Steps

Released under the MIT License.