Pixel Component Library
@surkyl/pixel
Section titled “@surkyl/pixel”A modern, themeable Angular component library with Material Design integration and Tailwind CSS support.
Features
Section titled “Features”- 🎨 Comprehensive Theme System - Built-in light/dark themes with full customization
- 🧩 Standalone Components - Modern Angular standalone components
- 💨 Tailwind CSS Integration - Portable design tokens and utilities
- 🎯 Material Design - Seamless integration with Angular Material
- 📱 Responsive - Mobile-first design approach
- ♿ Accessible - WCAG 2.1 AA compliant
- 🚀 Tree-shakeable - Optimized bundle sizes
- 📘 TypeScript - Full type safety and IntelliSense
Installation
Section titled “Installation”npm install @surkyl/pixel# orpnpm add @surkyl/pixelQuick Start
Section titled “Quick Start”- Import the theme styles in your
styles.scss:
@use '@surkyl/pixel/styles/themes';- Use components in your application:
import { PixelHeader, ThemeService } from '@surkyl/pixel/core';
@Component({ selector: 'app-root', standalone: true, imports: [PixelHeader], template: ` <pixel-header [brandName]="'My App'" (menuClick)="handleMenuClick()"> </pixel-header> `})export class AppComponent { constructor(public themeService: ThemeService) {}}- (Optional) Configure Tailwind with the Pixel preset:
const pixelPreset = require('@surkyl/pixel/tailwind-preset');
module.exports = { presets: [pixelPreset], // ... your config};Components
Section titled “Components”- Header - Application toolbar with user menu
- Sidenav - Responsive navigation sidebar
- Footer - Application footer
- Form Components - Enhanced form controls
- Table - Data table with sorting and pagination
- Layouts - SPA and multi-column layouts
- Theme Toggle - Light/dark mode switcher
- And more…
Theme System
Section titled “Theme System”The Pixel theme system provides:
- CSS variable-based theming
- Built-in light and dark themes
- Runtime theme switching
- Custom theme support
- Material Design integration
- Tailwind CSS compatibility
// Toggle themethemeService.toggleTheme();
// Set specific themethemeService.setTheme('pixel-dark');
// Register custom themethemeService.registerTheme('my-theme', customThemeConfig);Documentation
Section titled “Documentation”Comprehensive documentation is available in the wiki/pixel/ directory:
Development
Section titled “Development”Run unit tests:
nx test pixelBuild the library:
nx build pixelRun tests in watch mode:
nx test pixel --watchContributing
Section titled “Contributing”See the Contributing Guide for development setup and guidelines.
License
Section titled “License”This library is part of the Surkyl AIO project.