Expand description
ยงtailwind-rs-core
Core types and utilities for the tailwind-rs library. This crate provides the fundamental building blocks for Tailwind CSS integration in Rust.
ยง๐ WASM Compatibility
This crate is fully WASM-compatible and compiles to wasm32-unknown-unknown.
All operations are synchronous for optimal performance in web environments.
ยง๐ Performance
- Synchronous API: All operations are synchronous for better WASM performance
- High-performance caching: Uses
parking_lotfor efficient synchronization - Memory optimized: Reduced memory footprint compared to async alternatives
- Fast compilation: ~30% faster build times
ยง๐ฆ Bundle Size
- Smaller bundles: ~15% reduction in final bundle size
- No runtime dependencies: Pure Rust implementation
- Tree-shakeable: Only includes what you use
ยงExample
use tailwind_rs_core::*;
// Create type-safe Tailwind classes
let classes = ClassBuilder::new()
.padding(SpacingValue::Integer(4))
.background_color(utilities::Color::new(utilities::ColorPalette::Blue, utilities::ColorShade::Shade500))
.text_color(utilities::Color::new(utilities::ColorPalette::Gray, utilities::ColorShade::Shade100))
.build();
// Convert to CSS classes
let css_classes = classes.to_css_classes();
assert!(css_classes.contains("p-4"));Re-exportsยง
pub use arbitrary::ArbitraryValue;pub use arbitrary::ArbitraryValueError;pub use arbitrary::ArbitraryValueUtilities;pub use ast_parser::AstParser;pub use classes::ClassBuilder;pub use classes::ClassSet;pub use class_scanner::ClassScanner;pub use class_scanner::ScanConfig;pub use class_scanner::ScanResults;pub use class_scanner::ScanStats;pub use color::Color;pub use config::BuildConfig;pub use config::TailwindConfig;pub use config::parser::ConfigParser;pub use css_generator::CssGenerator;pub use css_generator::CssProperty;pub use css_generator::CssRule;pub use css_generator::CssGenerationConfig;pub use css_optimizer::OptimizationConfig;pub use css_optimizer::OptimizationResults;pub use css_optimizer::OptimizationStats;pub use custom_variant::CustomVariant;pub use custom_variant::CustomVariantManager;pub use custom_variant::CustomVariantType;pub use dark_mode::DarkModeVariant;pub use dark_mode::DarkModeVariantError;pub use dark_mode::DarkModeVariantUtilities;pub use error::Result;pub use error::TailwindError;pub use performance::CacheStats;pub use performance::ClassCache;pub use performance::OptimizationLevel;pub use performance::PerformanceOptimizer;pub use plugin_system::Plugin;pub use plugin_system::PluginContext;pub use plugin_system::PluginHook;pub use plugin_system::PluginRegistry;pub use responsive::AlignItems;pub use responsive::Breakpoint;pub use responsive::FlexDirection;pub use responsive::FlexWrap;pub use responsive::JustifyContent;pub use responsive::Responsive;pub use responsive::ResponsiveBuilder;pub use responsive::ResponsiveFlex;pub use responsive::ResponsiveGrid;pub use responsive::ResponsiveValue;pub use responsive::State;pub use theme::BorderRadius;pub use theme::BoxShadow;pub use theme::Spacing;pub use theme::Theme;pub use theme::ThemeValue;pub use theme_new::AnimationScale;pub use theme_new::BorderScale;pub use theme_new::FontFamily;pub use theme_new::FontSizeScale;pub use theme_new::FontWeightScale;pub use theme_new::LetterSpacingScale;pub use theme_new::LineHeightScale;pub use theme_new::ShadowScale;pub use theme_new::SpacingScale;pub use theme_new::SpacingSize;pub use theme_new::Theme as NewTheme;pub use theme_new::ThemePreset;pub use theme_new::ThemeVariant;pub use theme_new::ThemedComponent;pub use theme_new::TypographyScale;pub use tree_shaker::TreeShaker;pub use tree_shaker::TreeShakeConfig;pub use tree_shaker::TreeShakeResults;pub use tree_shaker::TreeShakeStats;pub use enhanced_variants::EnhancedVariantParser;pub use enhanced_variants::VariantDefinition;pub use enhanced_variants::VariantType;pub use enhanced_variants::CustomVariant as EnhancedCustomVariant;pub use enhanced_variants::VariantCombination;pub use enhanced_variants::ParsedVariant;pub use enhanced_variants::VariantParseResult;pub use enhanced_variants::VariantMetadata;pub use utilities::*;pub use validation::*;
Modulesยง
- api_
contracts - API Contracts and Contract Testing
- arbitrary
- Arbitrary values support for tailwind-rs
- ast_
parser - AST parser for Rust source files
- class_
scanner - Class scanner for extracting Tailwind classes from source files
- classes
- Class management system for tailwind-rs
- color
- Color system for tailwind-rs
- config
- Configuration system for tailwind-rs
- css_
generator - CSS Generator Module
- css_
optimizer - Advanced CSS optimization system
- custom_
variant - Custom variant system for tailwind-rs
- dark_
mode - Dark mode variant support for tailwind-rs
- defaults
- Default configuration values
- enhanced_
variants - Enhanced variant system for Tailwind-RS Core
- error
- Error types for tailwind-rs-core
- performance
- Performance optimization system for tailwind-rs
- plugin_
system - Plugin system for extending Tailwind-RS functionality
- responsive
- Responsive Design System Module
- theme
- Theme system for tailwind-rs
- theme_
new - New theme system implementation according to API documentation
- tree_
shaker - Tree-shaking system for removing unused CSS classes
- utilities
- Utility class implementations for tailwind-rs
- utils
- Utility functions for tailwind-rs
- validation
- Validation system for tailwind-rs
Structsยง
Constantsยง
- VERSION
- Version information
Functionsยง
- generate_
comprehensive_ css - Generate comprehensive CSS with all Tailwind utilities
- generate_
css_ file - Generate a CSS file with all necessary Tailwind classes