1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//! Iris CSS Object Model (CSSOM) Implementation
//!
//! This crate provides a complete CSSOM implementation including:
//! - CSS parsing and selector matching
//! - CSS Modules support
//! - Web-compatible CSSOM APIs (CSSStyleSheet, CSSRule, CSSStyleDeclaration, etc.)
//! - Bridge layer for iris-layout integration
//!
//! # Architecture
//!
//! ```text
//! CSS Text → css.rs (Parser) → CSSRule → cssrule.rs (CSSOM Wrapper)
//! ↓
//! stylesheet.rs (CSSStyleSheet)
//! ↓
//! bridge.rs (Integration with iris-layout)
//! ```
//!
//! # Example
//!
//! ```rust
//! use iris_cssom::{CSSStyleSheet, CSSOMManager, CSSStyleDeclaration};
//!
//! // Create a stylesheet
//! let mut sheet = CSSStyleSheet::new();
//! sheet.insert_rule(".container { color: red; }", 0).unwrap();
//!
//! // Use CSSOMManager for multiple stylesheets
//! let mut manager = CSSOMManager::new();
//! manager.add_stylesheet_from_css("main", ".class { padding: 20px; }");
//!
//! // Use CSSStyleDeclaration for inline styles
//! let mut style = CSSStyleDeclaration::new();
//! style.set_property("font-size", "16px", "");
//! ```
// Core CSS modules
// CSSOM API modules
// CSSStyleDeclaration
// CSSRule, CSSStyleRule, CSSMediaRule
// CSSRuleList
// CSSStyleSheet
// CSSOMManager (bridge to iris-layout)
// Re-export core types for convenience
pub use ;
pub use ;
// Re-export CSSOM API types
pub use CSSStyleDeclaration;
pub use ;
pub use CSSRuleList;
pub use CSSStyleSheet;
pub use CSSOMManager;