use tailwind_rs_core::*;
fn main() {
println!("📏 Tailwind CSS v4.1 Sizing System Example\n");
println!("📐 Width Examples:");
let width_classes = ClassBuilder::new()
.width(SizingValue::Full) .width(SizingValue::Integer(4)) .width(SizingValue::Integer(8)) .build();
println!(" Basic width: {}", width_classes.to_css_classes());
println!("📏 Height Examples:");
let height_classes = ClassBuilder::new()
.height(SizingValue::Screen) .height(SizingValue::Integer(4)) .height(SizingValue::Integer(8)) .build();
println!(" Basic height: {}", height_classes.to_css_classes());
println!("🔢 Fractional Sizing:");
let fractional_classes = ClassBuilder::new()
.width(SizingValue::Fraction(Fraction::Half)) .height(SizingValue::Fraction(Fraction::Third)) .width(SizingValue::Fraction(Fraction::Quarter)) .width(SizingValue::Fraction(Fraction::ThreeQuarters)) .build();
println!(" Fractional: {}", fractional_classes.to_css_classes());
println!("🎯 Grid Fractions:");
let grid_classes = ClassBuilder::new()
.width(SizingValue::GridFraction(GridFraction::SixTwelfths)) .height(SizingValue::GridFraction(GridFraction::FourTwelfths)) .width(SizingValue::GridFraction(GridFraction::ThreeTwelfths)) .width(SizingValue::GridFraction(GridFraction::NineTwelfths)) .build();
println!(" Grid fractions: {}", grid_classes.to_css_classes());
println!("⭐ Special Values:");
let special_classes = ClassBuilder::new()
.width(SizingValue::Auto) .height(SizingValue::Fit) .width(SizingValue::Min) .width(SizingValue::Max) .height(SizingValue::Screen) .height(SizingValue::Full) .build();
println!(" Special: {}", special_classes.to_css_classes());
println!("🎨 Complex Combination:");
let complex_classes = ClassBuilder::new()
.width(SizingValue::Fraction(Fraction::TwoThirds)) .height(SizingValue::Integer(64)) .width(SizingValue::Integer(32)) .width(SizingValue::Full) .height(SizingValue::Screen) .height(SizingValue::Integer(96)) .build();
println!(" Complex: {}", complex_classes.to_css_classes());
println!();
println!("🎨 CSS Values:");
println!(" w-full CSS value: {}", SizingValue::Full.to_css_value());
println!(
" h-screen CSS value: {}",
SizingValue::Screen.to_css_value()
);
println!(
" w-1/2 CSS value: {}",
SizingValue::Fraction(Fraction::Half).to_css_value()
);
println!(
" w-6/12 CSS value: {}",
SizingValue::GridFraction(GridFraction::SixTwelfths).to_css_value()
);
println!(" w-auto CSS value: {}", SizingValue::Auto.to_css_value());
println!();
println!("📋 All Available Sizing Values:");
println!();
println!("🔢 Fraction Examples:");
for fraction in [
Fraction::Half,
Fraction::Third,
Fraction::TwoThirds,
Fraction::Quarter,
Fraction::ThreeQuarters,
Fraction::Fifth,
Fraction::TwoFifths,
Fraction::ThreeFifths,
Fraction::FourFifths,
Fraction::Sixth,
Fraction::TwoSixths,
Fraction::ThreeSixths,
Fraction::FourSixths,
Fraction::FiveSixths,
] {
println!(
" {} -> {}",
fraction.to_class_name(),
fraction.to_css_value()
);
}
println!();
println!("🎯 Grid Fraction Examples:");
for grid_fraction in [
GridFraction::Twelfth,
GridFraction::TwoTwelfths,
GridFraction::ThreeTwelfths,
GridFraction::FourTwelfths,
GridFraction::FiveTwelfths,
GridFraction::SixTwelfths,
GridFraction::SevenTwelfths,
GridFraction::EightTwelfths,
GridFraction::NineTwelfths,
GridFraction::TenTwelfths,
GridFraction::ElevenTwelfths,
] {
println!(
" {} -> {}",
grid_fraction.to_class_name(),
grid_fraction.to_css_value()
);
}
println!("\n✅ Sizing system implementation complete!");
println!(" - Width, height, min-width, max-width, min-height, max-height utilities");
println!(" - Fractional and integer values");
println!(" - Grid fractions (1/12 to 11/12)");
println!(" - Special values (auto, full, screen, min, max, fit)");
println!(" - Type-safe and compile-time validated");
}