2026-04-04 14:33:34 +02:00
2026-04-03 01:41:07 +02:00
2026-04-04 14:07:21 +02:00
2026-04-04 14:07:21 +02:00
2026-04-04 14:07:21 +02:00
2026-03-31 12:53:50 +02:00
2026-04-04 03:00:16 +02:00
2026-04-04 14:07:21 +02:00
2026-04-04 14:07:21 +02:00
2026-04-04 14:33:34 +02:00

SigPro UI

SigPro UI is a lightweight, ultra-fast, and reactive component library built for the SigPro reactivity core. It provides a set of high-quality, accessible, and themeable UI components with native daisyUI styling out of the box.

Unlike heavy frameworks, SigPro UI focuses on a "Zero-Build" philosophy, allowing you to build complex reactive interfaces with a functional, declarative syntax that runs natively in the browser.


Features

  • Signals-Based Reactivity: Powered by SigPro for granular DOM updates
  • Native daisyUI Styling: Beautiful, semantic components out of the box
  • CSS Framework Friendly: Use Tailwind, UnoCSS, or any other library for grids and utilities
  • Tree Shaking Ready: Import only what you need
  • Zero-Import Option: Inject all components into the global scope with one command
  • Lightweight: Minimal footprint, fully reactive

Installation

Via NPM / Bun

# Install SigPro core first
bun add sigpro
# or
npm install sigpro

# Install SigPro UI
bun add sigpro-ui
# or
npm install sigpro-ui

Via CDN (Browser)

<script src="https://unpkg.com/sigpro"></script>
<script src="https://unpkg.com/sigpro-ui"></script>
<link href="https://cdn.jsdelivr.net/npm/daisyui@5/dist/full.css" rel="stylesheet">

Styling Setup

SigPro UI components are pre-styled with daisyUI v5 and work immediately after adding the daisyUI CSS:

<!-- Add daisyUI CSS (required for default styles) -->
<link href="https://cdn.jsdelivr.net/npm/daisyui@5/dist/full.css" rel="stylesheet">

Want additional utilities?

You're free to add Tailwind CSS, UnoCSS, or any other CSS framework for:

  • Grid systems (grid, flex, etc.)
  • Spacing utilities (p-4, m-2, gap-4)
  • Typography helpers (text-center, font-bold)
  • Custom responsive behaviors

These will work alongside daisyUI without conflicts. Example:

<!-- Add Tailwind for utilities (optional) -->
<script src="https://cdn.tailwindcss.com"></script>

<!-- Or UnoCSS -->
<script src="https://unpkg.com/unocss"></script>

Note

: Your components will inherit daisyUI styles by default. Tailwind/ UnoCSS only add extra utilities without overriding component styles.


Usage

You can use SigPro UI in two ways: Modular (Recommended) or Global (Fastest for prototyping).

1. Modular Approach (Tree Shaking)

Import only the components you need:

import { $, $mount } from "sigpro";
import { Button, Modal, Input, Alert } from "sigpro-ui";

const App = () => {
  const show = $(false);
  
  return Button(
    { 
      class: "btn-primary", 
      onclick: () => show(true) 
    }, 
    "Open Modal"
  );
};

$mount(App, "#app");

2. Global Approach (Zero-Import)

Inject all components into the window object:

import SigproUI from "sigpro-ui";

// Injects Button, Table, Input, Alert, etc. into window
SigproUI.install(); 

// Now use them directly anywhere:
const myApp = () => Table({ items: [], columns: [] });

Basic Example

import { $ } from "sigpro";
import { Button, Toast, Div, H1 } from "sigpro-ui";

const App = () => {
  const count = $(0);

  return Div({ class: "p-10 flex flex-col gap-4" }, [
    H1({ class: "text-2xl font-bold" }, "Welcome to SigPro UI"),
    
    Button({ 
      class: "btn-primary", 
      onclick: () => {
        count(c => c + 1);
        Toast(`Count is now ${count()}`, "alert-success");
      }
    }, () => `Clicks: ${count()}`)
  ]);
};

$mount(App, "#app");

Components Included

Category Components
Form Input, Select, Checkbox, Radio, Range, Datepicker, Colorpicker, Autocomplete, Rating, Fileinput
Data Table, List, Stat, Timeline, Badge, Indicator
Layout Navbar, Menu, Drawer, Fieldset, Stack, Tabs, Accordion
Feedback Alert, Modal, Toast, Loading, Tooltip
Interaction Button, Dropdown, Swap, Fab

Component Examples

Form with validation

import { Input, Button } from "sigpro-ui";

const email = $("");

Input({
  type: "email",
  value: email,
  placeholder: "your@email.com",
  validate: (v) => !v.includes("@") ? "Invalid email" : null
});

Datepicker with range

import { Datepicker } from "sigpro-ui";

const dateRange = $(null);

Datepicker({ 
  range: true, 
  value: dateRange,
  hour: true
});

File upload

import { Fileinput } from "sigpro-ui";

Fileinput({
  max: 5,
  accept: "image/*",
  onSelect: (files) => console.log(files)
});

Using with Tailwind utilities

// daisyUI provides component styles, Tailwind adds spacing utilities
Div({ class: "grid grid-cols-2 gap-4 p-6" }, [
  Button({ class: "btn-primary col-span-1" }, "Save"),
  Button({ class: "btn-ghost col-span-1" }, "Cancel")
])

License

MIT © 2026 SigPro Team
Engineered for speed, designed for clarity, built for the modern web.

Description
Languages
CSS 74.7%
JavaScript 25.3%