npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ui-syntheticaia

v2.0.0

Published

Professional React UI component library with TypeScript, Tailwind CSS, and Shadcn/UI

Readme

🎨 ui-syntheticaia

Professional React UI Component Library for Enterprise Dashboards

NPM Version TypeScript React Storybook Accessibility Bundle Size

Modern React component library built with cutting-edge technologies for the Synthetica Suite ecosystem. Features 92+ components, 412+ interactive stories, and enterprise-grade accessibility compliance.


🚀 Key Features

🎯 Enterprise-Ready Components

  • 92+ Components organized using Atomic Design principles
  • 412+ Interactive Stories with comprehensive documentation
  • 3 Advanced Components: FilterBuilder, BulkActions, FormBuilder
  • Multi-tenant Architecture support built-in

🔧 Modern Tech Stack

  • React 19.1+ with latest Suspense improvements
  • TypeScript 5.9+ strict mode with zero any types
  • Tailwind CSS 3.4+ with dark/light/system themes
  • Storybook 9.1+ with accessibility testing
  • Vite 7.1+ build system with tree-shaking

Accessibility First

  • 85% WCAG 2.1 AA compliance (target: 100%)
  • Screen reader compatible with proper ARIA labels
  • Keyboard navigation support throughout
  • Automated accessibility testing with axe-core

📦 Developer Experience

  • TypeScript-first with comprehensive type definitions
  • Tree-shakeable imports for optimal bundle sizes
  • Zero runtime dependencies (peer dependencies only)
  • Hot Module Replacement support

📋 Component Architecture

🏗️ Atomic Design Structure

src/components/
├── atoms/           # 7 basic components
│   ├── Button.tsx
│   ├── Input.tsx
│   ├── Icon.tsx
│   └── ...
├── molecules/       # 5 composite components
│   ├── Card.tsx
│   ├── SearchBox.tsx
│   └── ...
├── organisms/       # 4 complex components
│   ├── DataTable.tsx
│   ├── Header.tsx
│   └── ...
├── templates/       # 4 page templates
│   ├── DashboardTemplate.tsx
│   └── ...
├── dashboard/       # 6 dashboard components
│   ├── MetricCard.tsx
│   ├── Chart.tsx
│   └── ...
├── advanced/        # 11 advanced components
│   ├── FilterBuilder.tsx ✨
│   ├── BulkActions.tsx ✨
│   ├── FormBuilder.tsx ✨
│   └── ...
├── modules/         # 4 business modules
│   ├── PDV/
│   ├── CRM/
│   └── ...
└── ui/             # 54+ Shadcn/UI base components

Featured Advanced Components

🔍 FilterBuilder (7 stories)

import { FilterBuilder } from 'ui-syntheticaia'

<FilterBuilder
  fields={[
    { name: 'name', label: 'Nome', type: 'text' },
    { name: 'age', label: 'Idade', type: 'number' },
  ]}
  onFiltersChange={(filters) => console.log(filters)}
  allowGrouping={true}
  showSQLPreview={true}
/>
  • Drag-and-drop filter construction
  • Nested groups with AND/OR logic
  • SQL preview generation
  • Real-time validation

BulkActions (9 stories)

import { BulkActions } from 'ui-syntheticaia'

<BulkActions
  selectedItems={[1, 2, 3]}
  actions={[
    { id: 'delete', label: 'Excluir', icon: 'Trash', variant: 'destructive' },
    { id: 'export', label: 'Exportar', icon: 'Download' },
  ]}
  onAction={(actionId, items) => handleBulkAction(actionId, items)}
  showProgress={true}
  maxItems={100}
/>
  • Mass operations with progress tracking
  • Confirmation dialogs with rollback support
  • Permission-based action visibility
  • Customizable actions with icons

📝 FormBuilder (10 stories)

import { FormBuilder } from 'ui-syntheticaia'

<FormBuilder
  schema={{
    type: 'object',
    properties: {
      name: { type: 'string', title: 'Nome', required: true },
      email: { type: 'email', title: 'E-mail' },
    }
  }}
  onSubmit={(data) => console.log(data)}
  layout="grid"
  columns={2}
  showProgress={true}
/>
  • Dynamic form generation from JSON schemas
  • Multi-step wizard flows
  • 15+ field types (text, select, date, rich text, etc.)
  • Grid layout with responsive columns

🚀 Quick Start

Installation

npm install ui-syntheticaia
# or
yarn add ui-syntheticaia
# or
pnpm add ui-syntheticaia

Setup

// 1. Install peer dependencies
npm install react react-dom @types/react @types/react-dom

// 2. Import CSS (required)
import 'ui-syntheticaia/styles'

// 3. Setup theme provider
import { ThemeProvider } from 'ui-syntheticaia'

function App() {
  return (
    <ThemeProvider>
      <YourApp />
    </ThemeProvider>
  )
}

Basic Usage

import { Button, Card, DataTable, MetricCard } from 'ui-syntheticaia'

function Dashboard() {
  return (
    <div className="space-y-6">
      <div className="grid grid-cols-4 gap-4">
        <MetricCard
          title="Total Users"
          value="12,345"
          trend={{ value: 12.5, direction: 'up' }}
          icon="Users"
        />
      </div>

      <Card>
        <DataTable
          data={users}
          columns={userColumns}
          searchable
          sortable
          pagination
        />
      </Card>

      <Button variant="default" size="lg">
        Get Started
      </Button>
    </div>
  )
}

🎨 Theming & Customization

Built-in Themes

  • Light Theme - Clean and professional
  • Dark Theme - Modern dark interface
  • System Theme - Follows OS preference
  • High Contrast - Enhanced accessibility

Custom Themes

import { ThemeProvider } from 'ui-syntheticaia'

const customTheme = {
  colors: {
    primary: 'hsl(221 83% 53%)',
    secondary: 'hsl(210 40% 96%)',
    // ... more colors
  }
}

<ThemeProvider theme={customTheme}>
  <App />
</ThemeProvider>

CSS Variables

:root {
  --primary: 221 83% 53%;
  --secondary: 210 40% 96%;
  --background: 0 0% 100%;
  --foreground: 222.2 84% 4.9%;
  /* ... */
}

📚 Documentation & Storybook

Interactive Documentation

Explore all 412+ stories in our comprehensive Storybook:

npm run storybook
# Opens http://localhost:6006

Component Examples

Each component includes:

  • Props documentation with TypeScript definitions
  • Usage examples covering common scenarios
  • Accessibility guidelines and testing
  • Design variations and states

API Reference

Button Component

interface ButtonProps {
  variant?: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link'
  size?: 'default' | 'sm' | 'lg' | 'icon'
  disabled?: boolean
  loading?: boolean
  children: React.ReactNode
}

DataTable Component

interface DataTableProps<TData> {
  data: TData[]
  columns: ColumnDef<TData>[]
  searchable?: boolean
  sortable?: boolean
  pagination?: boolean
  pageSize?: number
  onRowClick?: (row: TData) => void
}

Accessibility

WCAG 2.1 AA Compliance: 85%

Our commitment to accessibility includes:

  • Semantic HTML structure throughout
  • ARIA labels and roles properly implemented
  • Keyboard navigation support for all interactive elements
  • Screen reader compatibility tested
  • Color contrast ratios meeting WCAG AA standards
  • Focus management in complex components

Accessibility Testing

# Run accessibility audit
npm run a11y:audit

# Quick accessibility check
npm run a11y:quick

# Generate HTML report
npm run a11y:report

Screen Reader Support

  • NVDA - Fully supported
  • JAWS - Fully supported
  • VoiceOver - Fully supported

🌐 Multi-tenant Support

Built for enterprise SaaS applications:

// Tenant-aware component usage
<DataTable
  data={data}
  tenantId="tenant-123"
  tenantPlan="enterprise"
  multiTenant={{
    isolation: 'strict',
    branding: customBranding
  }}
/>

Features

  • Complete data isolation per tenant
  • Custom branding support
  • Plan-based feature toggling
  • Tenant-aware caching

🔧 Development & Contributing

Development Setup

# Clone the repository
git clone https://github.com/Daniel-SyntheticaIA/ui-syntheticaia.git

# Install dependencies
npm install

# Start development
npm run storybook

# Run tests
npm run test

# Build library
npm run build

Scripts

npm run build          # Build library for production
npm run storybook      # Start Storybook development server
npm run a11y:audit     # Run accessibility audit
npm run lint           # ESLint validation
npm run typecheck      # TypeScript validation

Project Structure

ui-syntheticaia/
├── src/
│   ├── components/    # All components organized by atomic design
│   ├── hooks/         # Reusable React hooks
│   ├── lib/           # Utility functions
│   ├── styles/        # Global styles and themes
│   └── utils/         # Helper utilities
├── .storybook/        # Storybook configuration
├── scripts/           # Build and automation scripts
└── dist/              # Built library (generated)

🏗️ Integration with Synthetica Suite

This library is the visual foundation for the complete Synthetica Suite:

Core Integration

  • core-syntheticaia - NestJS backend APIs
  • site-syntheticaia - Next.js marketing site
  • crud-syntheticaia - CRUD operations engine

Future Modules

  • PDV-Synthetica - Point of Sale system
  • CRM-Synthetica - Customer management
  • Estoque-Synthetica - Inventory management
  • Agentes-Synthetica - AI autonomous agents

📊 Performance

Bundle Analysis

  • Main Bundle: 1.05MB (247KB gzipped)
  • Tree-shakeable: Import only what you use
  • Zero runtime deps: Optimized for production

Optimization Features

  • Code splitting support
  • Lazy loading components
  • Memoized components for performance
  • Efficient re-renders with React 19

🔄 Versioning & Releases

Current Version: 2.0.0

This major release includes:

  • React 19 upgrade
  • 3 Advanced Components (FilterBuilder, BulkActions, FormBuilder)
  • 85% Accessibility compliance
  • 412+ Stories comprehensive documentation
  • SearchBox standardization
  • TypeScript strict mode

Upgrade Guide

# From v1.x to v2.0
npm install ui-syntheticaia@latest

# Update peer dependencies
npm install react@^19.1.1 react-dom@^19.1.1

Breaking Changes

  • React 19+ now required
  • Some prop names updated for consistency
  • Improved TypeScript definitions

📄 License

MIT License - see LICENSE file for details.


🤝 Support & Community

Getting Help

Contributing

We welcome contributions! Please see our contributing guidelines and code of conduct.

Roadmap

  • Q1 2025: React 19 full optimization, Vite 7.x upgrade
  • Q2 2025: Tailwind 4.x migration, 100% WCAG compliance
  • Q3 2025: Advanced AI components, real-time features

🏆 Built by Synthetica Suite

Part of the Synthetica Suite ecosystem - the next generation of enterprise business applications.

Made with ❤️ in Brazil 🇧🇷


Star us on GitHub if this library helps your project!

GitHub stars