facett-app/src/lib.rs
//! **facett-app** — the app-framework layer over facett's components.
//!
//! Turns a set of [`Facet`](facett_core::Facet)s into a whole *app*: a
//! [`NavModel`] (one navigation model → many surfaces), a [`Router`]
//! (route→view with back/forward, native + wasm-hash), and nav chrome
//! ([`Sidebar`], [`breadcrumb`], [`NavShell`]). Immediate-mode, canvas-only,
//! headless-addressable — the "facett way".
//!
//! This is **Fas 1** of the framework införandeplan
//! (`workspace_nordisk/facett-ramverk-inforandeplan.md`): the navigation & menu
//! backbone. `AppShell`, split-panes and the overlay system land in later phases.
pub mod choices;
pub mod appshell;
pub mod colorpicker;
pub mod datepicker;
pub mod dropdown;
pub mod editor;
pub mod menu;
pub mod modal;
pub mod nav;
pub mod palette;
pub mod persist;
pub mod popover;
pub mod router;
pub mod scene;
pub mod shell;
pub mod sidebar;
pub mod splitpane;
pub mod tabview;
pub mod toast;
pub mod tree;
pub mod widgets;
pub mod workspace;
#[cfg(test)]
mod tests;
pub use appshell::AppShell;
pub use colorpicker::ColorPicker;
pub use datepicker::DatePicker;
pub use dropdown::Dropdown;
pub use editor::{Editor, EditorAreas, EditorRegistry};
pub use menu::nav_commands;
pub use modal::Modal;
pub use nav::{NavItem, NavModel};
pub use palette::NavPalette;
pub use persist::{LAYOUT_VERSION, LayoutSnapshot};
pub use popover::Popover;
pub use router::Router;
pub use scene::{
AREA_MIN_PT, Action, Allow, Axis, CHROME_BAR, CHROME_GLYPHS, Chrome, ChromeSpec, Content, Device, Fold, Layout, MENUBAR_H,
MenuItem, NavState, Overflow, Pane, Responsive, Route, STATUSBAR_H, Scene, SceneHost, TOOLBAR_H, Target, Trigger,
};
pub use shell::{NavShell, breadcrumb};
pub use sidebar::Sidebar;
pub use splitpane::SplitPane;
pub use tabview::TabView;
pub use toast::{Level, Toasts};
pub use tree::Tree;
pub use widgets::{Accordion, Pagination, Stepper};
pub use workspace::{WORKSPACEBAR_H, Workspace, WorkspaceSlot};