mirror of
https://github.com/The-Low-Code-Foundation/OpenNoodl.git
synced 2026-03-08 10:03:31 +01:00
- StyleAnalyzer: scans project for repeated raw colors/spacing (3+ occurrences) and nodes with 3+ non-token overrides (variant candidates) - StyleAnalyzer.toSuggestions() converts analysis to ordered StyleSuggestion[] - StyleAnalyzer.analyzeNode() for per-node suggestions from property panel - SuggestionActionHandler: creates tokens from repeated values + replaces all occurrences; sets _variant param for variant candidates - SuggestionBanner: compact inline UI component with accept/dismiss/never - useStyleSuggestions: hook with localStorage persist for dismissed state - TokenModelLike interface keeps analyzer decoupled from StyleTokensModel singleton - StyleAnalysisOptions allows injecting tokenModel for existing-token matching