The crate had two maps from a file's name to its icon, in chat and in the file tree, and they disagreed. One map now lives in primitives, over the Lucide file-* icons, and chat, agent, the file tree and the directory listing use it. FileIcon draws it for a file or a folder. FileItem is a file's row, a ListItem with its size and when it changed. FileList is the directory listing. FileGrid lays tiles in the order given, with a cursor seeded from the owner's pick: arrows by tile and by row, Home, End, Enter and a double press to open. The count of what fits a width has one home, layout's columns_for, and fit builds on it.
35 lines
1.0 KiB
Rust
35 lines
1.0 KiB
Rust
mod collapse;
|
|
mod dock;
|
|
mod floating;
|
|
mod grid;
|
|
mod page;
|
|
mod panes;
|
|
mod scroll;
|
|
mod scroll_aids;
|
|
pub(crate) mod seeded;
|
|
mod sheet;
|
|
mod sidebar;
|
|
mod split;
|
|
mod stack;
|
|
mod surface;
|
|
mod viewport;
|
|
mod workspace;
|
|
|
|
pub use collapse::{Accordion, AccordionItem, Collapsible};
|
|
pub use dock::{Dock, DockLayout, DockPanel, DockSide, Spot};
|
|
pub use floating::FloatingPanel;
|
|
pub use grid::{Masonry, SimpleGrid};
|
|
pub(crate) use grid::{columns_for, fit};
|
|
pub use page::{AppShell, MasterDetail, Page};
|
|
pub use panes::{PaneGroup, PaneId, PaneLayout};
|
|
pub(crate) use scroll::bring_into_view;
|
|
pub use scroll::{ScrollArea, Scrollbar, on_axis};
|
|
pub use scroll_aids::{ScrollShadow, ScrollToTop, StickyHeader};
|
|
pub use sheet::{Drawer, Sheet};
|
|
pub use sidebar::Sidebar;
|
|
pub use split::{SplitPane, resize_handle};
|
|
pub use stack::{AspectRatio, Container, ZStack, h_stack, v_stack};
|
|
pub use surface::{Card, CardHeader, Fieldset, Frame, Panel, Section, Well};
|
|
pub use viewport::{Transform, Viewport};
|
|
pub use workspace::{WORKSPACE_VERSION, Workspace};
|