sbom-tools 0.2.0

Semantic SBOM diff and analysis tool
Documentation
//! Application state types for the TUI.
//!
//! This module contains all the state types used by the TUI application.
//! Each sub-module groups related state types by feature area.

pub mod compliance;
pub mod components;
pub mod dependencies;
pub mod graph_changes;
pub mod licenses;
pub mod matrix;
pub mod multi_diff;
pub mod navigation;
pub mod overlays;
pub mod quality;
pub mod search;
pub mod sidebyside;
pub mod source;
pub mod summary;
pub mod timeline;
pub mod vulnerabilities;

// Re-export all public types for backward compatibility.
// All existing `use super::app_states::{...}` imports continue to work.

pub use compliance::{
    ComplianceSeverityFilter, DiffComplianceState, DiffComplianceViewMode, PolicyComplianceState,
    PolicyPreset,
};
pub use components::{ComponentFilter, ComponentSort, ComponentsState, sort_component_changes};
pub use dependencies::{DependenciesState, DependencyChangeFilter, EdgeInfo};
pub use graph_changes::GraphChangesState;
pub use licenses::{LicenseGroupBy, LicenseRiskFilter, LicenseSort, LicensesState};
pub use matrix::{MatrixSortBy, MatrixState, SimilarityThreshold};
pub use multi_diff::{
    MultiDiffState, MultiViewFilterPreset, MultiViewSearchState, MultiViewSortBy, SortDirection,
};
pub use navigation::{Breadcrumb, NavigationContext};
pub use overlays::{
    ComponentDeepDiveData, ComponentDeepDiveState, ComponentSimilarityInfo,
    ComponentTargetPresence, ComponentVersionEntry, ComponentVulnInfo, MultiViewType,
    ShortcutsContext, ShortcutsOverlayState, ViewSwitcherState,
};
pub use quality::{QualityState, QualityViewMode};
pub use search::{
    ChangeType, DiffSearchResult, DiffSearchState, SearchMatcher, SearchMode, VulnChangeType,
};
pub use sidebyside::{
    AlignedRow, AlignmentMode, ChangeTypeFilter, ScrollSyncMode, SideBySideState,
    UnifiedChangeType, UnifiedEntry,
};
pub use source::{SourceDiffState, SourcePanelState, SourceSide, SourceViewMode};
pub use summary::SummaryState;
pub use timeline::{TimelineChartMetric, TimelineComponentFilter, TimelineSortBy, TimelineState};
pub use vulnerabilities::{
    DiffVulnItem, DiffVulnStatus, VulnFilter, VulnSort, VulnerabilitiesState,
};