Crate tailwind_rs_yew

Crate tailwind_rs_yew 

Source
Expand description

§Tailwind-rs Yew Integration

This crate provides seamless integration between Tailwind CSS and the Yew framework. It follows our TDD-first approach (ADR-001) and comprehensive testing pyramid strategy (ADR-002).

§Features

  • Type-safe class generation - Compile-time validation of Tailwind classes
  • Component-based styling - Yew component integration with Tailwind
  • Performance optimized - Efficient class caching and tree-shaking
  • Framework integration - Native Yew component support

§Quick Start

use yew::prelude::*;
use tailwind_rs_yew::{Button, ButtonProps, ButtonVariant};

#[function_component]
pub fn MyButton(props: &ButtonProps) -> Html {
    let classes = yew::classes! {
        "px-4", "py-2", "rounded-md", "font-medium", "transition-colors",
        match props.variant {
            ButtonVariant::Primary => "bg-blue-600",
            ButtonVariant::Secondary => "bg-gray-200",
            ButtonVariant::Danger => "bg-red-600",
            ButtonVariant::Outline => "border border-gray-300",
        },
    };
     
    html! {
        <button class={classes}>
            {props.children.clone()}
        </button>
    }
}

Re-exports§

pub use class_generator::*;
pub use components::*;
pub use props::*;
pub use utils::*;

Modules§

api_contracts
API Contracts and Contract Testing
arbitrary
Arbitrary values support for tailwind-rs
ast_parser
AST parser for Rust source files
class_generator
Yew Class Generator
class_scanner
Class scanner for extracting Tailwind classes from source files
classes
Class management system for tailwind-rs
color
Color system for tailwind-rs
components
Yew Components
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
props
Yew Props
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
validation
Validation system for tailwind-rs
yew_classes
Yew-specific class generation utilities

Macros§

classes
The main classes! macro for generating Tailwind CSS classes
component
The component! macro for generating component classes
responsive
The responsive! macro for generating responsive classes
state
The state! macro for generating state-based classes
theme
The theme! macro for generating theme-based classes
variant
The variant! macro for generating component variants

Structs§

AccentColorParser
Parser for accent color utilities
AccessibilityParser
AdvancedBorderParser
AdvancedColorParser
AdvancedCssMinifier
Advanced CSS minifier with multiple optimization strategies
AdvancedGridParser
AdvancedOptimizationResult
Advanced optimization result
AdvancedSpacingParser
AlertHandler
Alert handler for performance issues
AlignContentParser
AlignItemsParser
AlignSelfParser
AnimationComposition
Animation composition
AnimationParser
AnimationProperties
Animation properties override
AnimationScale
Animation scale
ArbitraryParser
ArbitraryValue
Represents an arbitrary value in Tailwind CSS
AspectRatioParser
AstParser
AST parser for extracting Tailwind classes from Rust source files
BackdropFilterUtilitiesParser
BackgroundParser
Parser for background utilities
BackgroundPropertiesParser
BorderParser
BorderScale
Border scale
BorderUtilitiesParser
Parser for border utilities
BoxShadow
Represents a box shadow value in the theme system
BoxUtilitiesParser
BreakControlParser
BuildConfig
Build configuration for tailwind-rs
BundleAnalyzer
Bundle analyzer for performance insights
BundleSplitter
Bundle splitting strategies
CacheStats
Cache statistics
ClassAnalyzer
Class usage analyzer for tree-shaking
ClassBuilder
Builder for creating class sets
ClassCache
Caches generated classes for performance
ClassScanner
High-level class scanner
ClassSet
A set of CSS classes with metadata
ClassUsageStats
Class usage statistics
ClassValidator
Validates Tailwind class names at runtime
ColorParser
Parser for color utilities
ColumnsParser
ComposedAnimation
Composed animation reference
CompositionTiming
Composition timing
ConfigParser
Configuration parser with validation
CriticalCssExtractor
Critical CSS extractor for above-the-fold optimization
CssGenerationConfig
CSS generation configuration
CssGenerator
CSS generator that converts Tailwind classes to CSS rules
CssProperty
Represents a CSS property
CssPurger
CSS purger for dead code elimination
CssRule
Represents a CSS rule with selector and properties
CssVariable
CSS variable reference
CustomKeyframe
Custom keyframe animation
CustomVariant
A custom variant definition
CustomVariantManager
Manager for custom variants
DarkModeVariant
Represents a dark mode variant in Tailwind CSS
DataAttributeParser
DivideParser
EffectsParser
EffectsUtilitiesParser
Parser for effects utilities
EnhancedCustomVariant
Custom variant definition
EnhancedVariantParser
Enhanced variant parser for complex class combinations
ErrorReporter
Error reporter for validation errors
FilterUtilitiesParser
FlexBasisParser
FlexDirectionParser
FlexGrowParser
FlexParser
FlexShrinkParser
FlexWrapParser
FlexboxParser
FontSizeScale
Font size scale
FontWeightScale
Font weight scale
FractionalTransformsParser
GapParser
GradientParser
GridAutoColumnsParser
GridAutoFlowParser
GridAutoRowsParser
GridColumnParser
GridParser
GridRowParser
GridTemplateColumnsParser
GridTemplateRowsParser
InsetParser
InteractiveParser
InteractivityParser
Parser for interactivity utilities
JustifyContentParser
JustifyItemsParser
JustifySelfParser
KeyframeStep
Keyframe step with properties
LayoutParser
LayoutUtilitiesParser
LazyLoadingOptimizer
Lazy loading optimizer for performance
LetterSpacingScale
Letter spacing scale
LineHeightScale
Line height scale
MaskUtilitiesParser
Parser for mask utilities
MemoryLimits
Memory usage limits
MemoryOptimizer
Memory usage optimizer
MonitoringInterval
Monitoring intervals
NewTheme
Main theme structure according to API documentation
ObjectFitParser
ObserverOptions
Observer options for intersection observer
OptimizationConfig
Configuration for CSS optimization
OptimizationMetrics
Optimization metrics
OptimizationResult
Performance optimization result
OptimizationResults
Results of CSS optimization
OptimizationStats
Statistics for optimization operation
OrderParser
OverflowParser
OverscrollParser
ParsedVariant
Parsed individual variant
PerformanceImprovements
Performance improvements
PerformanceMetrics
Performance metrics
PerformanceMonitor
Runtime performance monitor
PerformanceOptimizer
Optimizes class generation performance
PerformanceThresholds
Performance thresholds
PlaceContentParser
PlaceItemsParser
PlaceSelfParser
PluginContext
Plugin context containing current state
PluginRegistry
Plugin registry for managing plugins
PositionParser
PositioningParser
ProseParser
Responsive
Main responsive struct that uses the configuration
ResponsiveBuilder
Builder for creating responsive classes
ResponsiveFlex
Responsive flex container
ResponsiveGrid
Responsive grid container
ResponsiveValue
A responsive value that can have different values for different breakpoints
RingParser
RuleUsageStats
CSS rule usage statistics
RuntimeMetrics
Runtime performance metrics
ScanConfig
Configuration for class scanning
ScanResults
Results of a class scanning operation
ScanStats
Statistics for scanning operation
ShadowParser
ShadowScale
Shadow scale
SizingParser
SpacingParser
Parser for spacing utilities
SpacingScale
Spacing scale for consistent spacing values
SvgParser
TableParser
TailwindBuilder
TailwindConfig
Main configuration for tailwind-rs
Theme
Main theme structure
TransformParser
TransformStep
Transform step for keyframes
TransitionParser
TransitionPropertiesParser
TreeShakeConfig
Configuration for tree-shaking
TreeShakeResults
Results of tree-shaking operation
TreeShakeStats
Statistics for tree-shaking operation
TreeShaker
Tree-shaking system for CSS optimization
TypographyParser
TypographyScale
Typography scale for the theme
ValidationRules
Validation rules for class validation
VariantCombination
Parsed variant combination
VariantDefinition
Variant definition
VariantMetadata
Variant processing metadata
VariantParseResult
Enhanced variant parsing result
VisibilityParser
ZIndexParser

Enums§

AlertType
Alert types
AlignContent
Align content values
AlignItems
Align items options
AlignSelf
Align self values
Animation
Animation values
AnimationDirection
Animation direction
AnimationFillMode
Animation fill mode
AnimationIteration
Animation iteration count
AnimationPlayState
Animation play state
AnimationReference
Animation reference
ArbitraryValueError
Errors that can occur when working with arbitrary values
BackdropBlur
Backdrop filter blur values
BackdropBrightness
Backdrop filter brightness values
BackdropContrast
Backdrop filter contrast values
BackdropGrayscale
Backdrop filter grayscale values
BackdropHueRotate
Backdrop filter hue rotate values
BackdropInvert
Backdrop filter invert values
BackdropOpacity
Backdrop filter opacity values
BackdropSaturate
Backdrop filter saturate values
BackdropSepia
Backdrop filter sepia values
BackgroundAttachment
Background attachment values
BackgroundBlendMode
Background blend mode values
BackgroundClip
Background clip values
BackgroundImage
Background image values
BackgroundOrigin
Background origin values
BackgroundPosition
Background position values
BackgroundRepeat
Background repeat values
BackgroundSize
Background size values
Blur
Blur values
BorderRadius
Represents a border radius value in the theme system
BorderStyle
Border style values
BorderWidth
Border width values
Breakpoint
Breakpoint definitions for responsive design
Brightness
Brightness values
CascadeLayer
Cascade layer values
Clear
Clear values
Color
Represents Tailwind color palette
ColorFunction
CSS color function types
ColorPalette
Color palette values
ColorSchemeVariant
Color scheme variants
ColorShade
Color shade values
ContainerAspectRatio
Container aspect ratio values
ContainerOrientation
Container orientation
ContainerQuery
Container query types
ContainerSize
Container size values
Contrast
Contrast values
CustomProperty
Custom property values
CustomVariantType
Custom variant types supported by Tailwind v4.1.13
DarkModeVariantError
Errors that can occur when working with dark mode variants
Display
Display values
DivideStyle
Divide style values
DivideWidth
Divide width values
DropShadow
Drop shadow values
EnhancedBackdropBlur
Enhanced backdrop blur values
EnhancedBackdropBrightness
Enhanced backdrop brightness values
EnhancedBackdropContrast
Enhanced backdrop contrast values
EnhancedBackdropGrayscale
Enhanced backdrop grayscale values
EnhancedBackdropHueRotate
Enhanced backdrop hue rotate values
EnhancedBackdropInvert
Enhanced backdrop invert values
EnhancedBackdropOpacity
Enhanced backdrop opacity values
EnhancedBackdropSaturate
Enhanced backdrop saturate values
EnhancedBackdropSepia
Enhanced backdrop sepia values
Flex
Flex values
FlexBasis
Flex basis values
FlexDirection
Flex direction options
FlexGrow
Flex grow values
FlexShrink
Flex shrink values
FlexWrap
Flex wrap options
Float
Float values
FontFamily
Font family enum
FontSize
Font size values
FontWeight
Font weight values
Fraction
Fraction enum for fractional sizing
GcTrigger
Garbage collection triggers
GradientDirection
Gradient direction values
GradientStop
Gradient stop values
Grayscale
Grayscale values
GridAutoColumns
Grid auto columns values
GridAutoFlow
Grid auto flow values
GridAutoRows
Grid auto rows values
GridColumnEnd
Grid column end values
GridColumnSpan
Grid column span values
GridColumnStart
Grid column start values
GridFraction
Grid fraction enum for grid fractional sizing
GridGap
Grid gap values
GridRowEnd
Grid row end values
GridRowSpan
Grid row span values
GridRowStart
Grid row start values
GridTemplateColumns
Grid template columns values
GridTemplateRows
Grid template rows values
HueRotate
Hue rotate values
Invert
Invert values
Isolation
Isolation values
JustifyContent
Justify content options
LazyLoadingStrategy
Lazy loading strategies
LetterSpacing
Letter spacing values
LineHeight
Line height values
LogicalDirection
Logical direction values
MaskClip
Mask clip values
MaskComposite
Mask composite values
MaskMode
Mask mode values
MaskOrigin
Mask origin values
MaskPosition
Mask position values
MaskRepeat
Mask repeat values
MaskSize
Mask size values
MaskType
Mask type values
MemoryOptimizationStrategy
Memory optimization strategies
MinificationStrategy
Minification strategies
MixBlendMode
Mix blend mode values
ModernContainerQuery
Modern container query values
MotionVariant
Motion preference variants
NestingMediaQuery
CSS nesting media query types
NestingPseudoClass
CSS nesting pseudo-class types
NestingSelector
CSS nesting selector types
ObjectFit
Object fit values
ObjectPosition
Object position values
Opacity
Opacity values
OptimizationLevel
Performance optimization levels
Order
Order values
OutlineOffset
Outline offset values
OutlineStyle
Outline style values
OutlineWidth
Outline width values
Overflow
Overflow values
OverflowWrap
Overflow wrap values
OverscrollBehavior
Overscroll behavior values
ParserCategory
Parser categories for organization
PluginComposition
Plugin composition strategies
PluginConfig
Plugin configuration options
PluginHook
Plugin hook types
PluginLifecycle
Plugin lifecycle stages
PluginPriority
Plugin priority levels
PluginType
Plugin type enumeration
PointerVariant
Pointer capability variants
Position
Position values
RingOffsetWidth
Ring offset width values
RingWidth
Ring width values
Rotate
Rotate values
Saturate
Saturate values
Scale
Scale values
Sepia
Sepia values
SizingValue
Sizing value enum
Skew
Skew values
Spacing
Represents a spacing value in the theme system
SpacingSize
Spacing size enum
SpacingValue
Spacing utility values for padding and margin
SplitStrategy
Bundle splitting strategies
State
State definitions for pseudo-classes
StepDirection
Step direction for steps timing function
TailwindError
Main error type for tailwind-rs operations
TextAlign
Text alignment values
TextDecoration
Text decoration values
TextDecorationStyle
Text decoration style values
TextDecorationThickness
Text decoration thickness values
TextOverflow
Text overflow values
TextShadow
Text shadow values
TextTransform
Text transformation values
TextUnderlineOffset
Text underline offset values
ThemePreset
Theme preset enum for predefined themes
ThemeValue
Represents a theme value that can be any of the theme types
ThemeVariant
Theme variant for different component styles
TimingFunction
Animation timing function
TransformOrigin
Transform origin values
TransitionDelay
Transition delay values
TransitionDuration
Transition duration values
TransitionProperty
Transition property values
TransitionTimingFunction
Transition timing function values
Translate
Translate values
ValidationError
Represents validation errors
ValidationMode
Validation mode types
ValidationResult
Validation result types
ValidationRule
Validation rule types
ValidationScope
Validation scope types
ValidationSeverity
Validation severity levels
VariantType
Variant type classification
Visibility
Visibility values
WhiteSpace
White space values
WordBreak
Word break values
ZIndex
Z-index values

Constants§

VERSION
Version information

Traits§

AdvancedPluginSystemConvenience
Convenience methods for common plugin patterns
AdvancedPluginSystemUtilities
Trait for adding advanced plugin system to ClassBuilder
AlignContentUtilities
Trait for adding align content utilities to a class builder
AlignItemsUtilities
Trait for adding align items utilities to a class builder
AlignSelfUtilities
Trait for adding align self utilities to a class builder
AnimationUtilities
Trait for adding animation utilities to a class builder
ArbitraryValueUtilities
Trait for adding arbitrary value utilities to a class builder
AspectRatioUtilities
Trait for adding aspect ratio utilities to a class builder
BackdropFilterUtilities
Trait for adding backdrop filter utilities to a class builder
BackgroundAttachmentUtilities
Trait for adding background attachment utilities to a class builder
BackgroundBlendModeUtilities
Trait for adding background blend mode utilities to a class builder
BackgroundClipUtilities
Trait for adding background clip utilities to a class builder
BackgroundColorUtilities
Trait for adding background color utilities to a class builder
BackgroundImageUtilities
Trait for adding background image utilities to a class builder
BackgroundOriginUtilities
Trait for adding background origin utilities to a class builder
BackgroundPositionUtilities
Trait for adding background position utilities to a class builder
BackgroundRepeatUtilities
Trait for adding background repeat utilities to a class builder
BackgroundSizeUtilities
Trait for adding background size utilities to a class builder
BlurUtilities
Trait for adding blur utilities to a class builder
BorderColorUtilities
Trait for adding border color utilities to a class builder
BorderRadiusUtilities
Trait for adding border radius utilities to a class builder
BorderStyleUtilities
Trait for adding border style utilities to a class builder
BorderWidthUtilities
Trait for adding border width utilities to a class builder
BoxShadowUtilities
Trait for adding box shadow utilities to a class builder
BrightnessUtilities
Trait for adding brightness utilities to a class builder
ClearUtilities
Trait for adding clear utilities to a class builder
ColorSchemeVariantUtilities
Trait for adding color scheme variant utilities to a class builder
ContrastUtilities
Trait for adding contrast utilities to a class builder
CssNestingConvenience
Convenience methods for common nesting patterns
CssNestingUtilities
Trait for adding CSS nesting to ClassBuilder
DarkModeVariantUtilities
Trait for adding dark mode variant utilities to a class builder
DisplayUtilities
Trait for adding display utilities to a class builder
DivideUtilities
Trait for adding divide utilities to a class builder
DropShadowUtilities
Trait for adding drop shadow utilities to a class builder
EnhancedBackdropFilterUtilities
Trait for adding enhanced backdrop filter utilities to ClassBuilder
EnhancedValidationConvenience
Convenience methods for common validation patterns
EnhancedValidationUtilities
Trait for adding enhanced validation to ClassBuilder
FlexBasisUtilities
Trait for adding flex basis utilities to a class builder
FlexDirectionUtilities
Trait for adding flex direction utilities to a class builder
FlexGrowUtilities
Trait for adding flex grow utilities to a class builder
FlexShrinkUtilities
Trait for adding flex shrink utilities to a class builder
FlexUtilities
Trait for adding flex utilities to a class builder
FlexWrapUtilities
Trait for adding flex wrap utilities to a class builder
FloatUtilities
Trait for adding float utilities to a class builder
FontFamilyUtilities
Trait for font family utilities
FontSizeUtilities
Trait for font size utilities
FontWeightUtilities
Trait for font weight utilities
GapUtilities
Trait for adding gap utilities to a class builder
GradientDirectionUtilities
Trait for adding gradient direction utilities to a class builder
GradientStopUtilities
Trait for adding gradient stop utilities to a class builder
GrayscaleUtilities
Trait for adding grayscale utilities to a class builder
GridAutoColumnsUtilities
Trait for adding grid auto columns utilities to a class builder
GridAutoFlowUtilities
Trait for adding grid auto flow utilities to a class builder
GridAutoRowsUtilities
Trait for adding grid auto rows utilities to a class builder
GridColumnSpanUtilities
Trait for adding grid column span utilities to a class builder
GridGapUtilities
Trait for adding grid gap utilities to a class builder
GridPlacementUtilities
Trait for adding grid placement utilities to a class builder
GridRowSpanUtilities
Trait for adding grid row span utilities to a class builder
GridTemplateColumnsUtilities
Trait for adding grid template columns utilities to a class builder
GridTemplateRowsUtilities
Trait for adding grid template rows utilities to a class builder
HeightUtilities
Trait for adding height utilities to a class builder
HueRotateUtilities
Trait for adding hue rotate utilities to a class builder
InvertUtilities
Trait for adding invert utilities to a class builder
IsolationUtilities
Trait for adding isolation utilities to a class builder
JustifyContentUtilities
Trait for adding justify content utilities to a class builder
LetterSpacingUtilities
Trait for letter spacing utilities
LineHeightUtilities
Trait for line height utilities
LogicalPropertiesConvenience
Convenience methods for common spacing values
LogicalPropertiesUtilities
Trait for adding CSS logical properties to ClassBuilder
MarginUtilities
Trait for adding margin utilities to a class builder
MaskUtilities
Trait for adding mask utilities to ClassBuilder
MixBlendModeUtilities
Trait for adding mix blend mode utilities to a class builder
ModernCssFeaturesUtilities
Trait for adding modern CSS features to ClassBuilder
MotionVariantUtilities
Trait for adding motion variant utilities to a class builder
ObjectFitUtilities
Trait for adding object fit utilities to a class builder
ObjectPositionUtilities
Trait for adding object position utilities to a class builder
OpacityUtilities
Trait for adding opacity utilities to a class builder
OrderUtilities
Trait for adding order utilities to a class builder
OutlineUtilities
Trait for adding outline utilities to a class builder
OverflowUtilities
Trait for adding overflow utilities to a class builder
OverscrollBehaviorUtilities
Trait for adding overscroll behavior utilities to a class builder
PaddingUtilities
Trait for adding padding utilities to a class builder
Plugin
Plugin trait that all plugins must implement
PointerVariantUtilities
Trait for adding pointer variant utilities to a class builder
PositionUtilities
Trait for adding position utilities to a class builder
RingColorUtilities
Trait for adding ring color utilities to a class builder
RingUtilities
Trait for adding ring utilities to a class builder
RotateUtilities
Trait for adding rotate utilities to a class builder
SaturateUtilities
Trait for adding saturate utilities to a class builder
ScaleUtilities
Trait for adding scale utilities to a class builder
SepiaUtilities
Trait for adding sepia utilities to a class builder
SkewUtilities
Trait for adding skew utilities to a class builder
SpaceBetweenUtilities
Trait for adding space-between utilities to a class builder
SpacingDivideUtilities
Trait for adding divide utilities to a class builder
TextAlignUtilities
Trait for text alignment utilities
TextColorUtilities
Trait for adding text color utilities to a class builder
TextDecorationUtilities
Trait for text decoration utilities
TextShadowUtilities
Trait for adding text shadow utilities to ClassBuilder
TextTransformUtilities
Trait for text transformation utilities
ThemedComponent
Trait for components that support theming
TransformOriginUtilities
Trait for adding transform origin utilities to a class builder
TransitionDelayUtilities
Trait for adding transition delay utilities to a class builder
TransitionDurationUtilities
Trait for adding transition duration utilities to a class builder
TransitionPropertyUtilities
Trait for adding transition property utilities to a class builder
TransitionTimingFunctionUtilities
Trait for adding transition timing function utilities to a class builder
TranslateUtilities
Trait for adding translate utilities to a class builder
TypographyUtilities
Combined trait for all typography utilities
UtilityParser
Common parser interface for all utility parsers
VisibilityUtilities
Trait for adding visibility utilities to a class builder
WidthUtilities
Trait for adding width utilities to a class builder
ZIndexUtilities
Trait for adding z-index utilities to a class builder

Functions§

generate_comprehensive_css
Generate comprehensive CSS with all Tailwind utilities
generate_css_file
Generate a CSS file with all necessary Tailwind classes

Type Aliases§

Result
Result type alias for tailwind-rs operations