Skip to main content

Module components

Module components 

Source
Expand description

UI components — Leptos #[component] definitions matching rust-ui’s visual aesthetic (dark zinc palette, subtle borders, soft shadows).

Organised into seven subgroups that mirror the recorder’s product surfaces:

  • primitivesButton, Card, and reusable control primitives (UI-01 / UI-04).
  • shell — application chrome: DropZone, StatusBar, NavigationRail, AppShell (UI-02).
  • menus — popovers, dropdowns, command menus (UI-03 / UI-05 / UI-10).
  • recorder — tray recorder + capture mode + device pickers (UI-06 through UI-13).
  • library — recordings library sidebar + grid (UI-14 / UI-15).
  • editor — editor shell, Wisp canvas host, inspector, timeline, dope sheet, player controls (UI-16 through UI-19).
  • cursor — Cursor Studio shell + preview canvas (UI-20 / UI-21).

Each subgroup re-exports its public types so ui_storybook::components::Button resolves identically to ui_storybook::components::primitives::Button — callers (notably app_ui) pin to the short path.

Every component re-exported from here must have a story in crate::stories. The story drives the SSR snapshot test.

Re-exports§

pub use editor::DopeSheet;
pub use editor::DopeSheetKeyframe;
pub use editor::DopeSheetTrack;
pub use editor::KeyframeKind;
pub use editor::PlayState;
pub use editor::PlayerControls;
pub use editor::TrackKind;
pub use menus::MenuBadgeView;
pub use menus::MenuFooter;
pub use menus::MenuList;
pub use menus::MenuRow;
pub use menus::MenuRowKind;
pub use menus::MenuSection;
pub use menus::PopoverPlacement;
pub use menus::PopoverSurface;
pub use primitives::Badge;
pub use primitives::BadgeKind;
pub use primitives::Button;
pub use primitives::ButtonSize;
pub use primitives::ButtonVariant;
pub use primitives::Card;
pub use primitives::CardBody;
pub use primitives::CardHeader;
pub use primitives::ColorSwatch;
pub use primitives::Divider;
pub use primitives::DividerOrientation;
pub use primitives::IconButton;
pub use primitives::IconButtonVariant;
pub use primitives::IconTile;
pub use primitives::IconTileKind;
pub use primitives::Kbd;
pub use primitives::Meter;
pub use primitives::Segment;
pub use primitives::SegmentedControl;
pub use primitives::SelectPill;
pub use primitives::Slider;
pub use primitives::Surface;
pub use primitives::SurfaceKind;
pub use primitives::ToggleSwitch;
pub use recorder::AppIconView;
pub use recorder::AudioAppView;
pub use recorder::AudioFilter;
pub use recorder::CaptureModeTabs;
pub use recorder::CaptureSourceKind;
pub use recorder::CaptureSourceRow;
pub use recorder::CaptureSourceView;
pub use recorder::DeviceOptionView;
pub use recorder::DevicePickerMenu;
pub use recorder::DevicePickerState;
pub use recorder::DeviceThumb;
pub use recorder::DisplayPreviewFrame;
pub use recorder::DisplayPreviewView;
pub use recorder::DisplaySourceCard;
pub use recorder::DisplaySourceView;
pub use recorder::OnScreenOptionKind;
pub use recorder::OnScreenOptionView;
pub use recorder::OnScreenOptionsPopover;
pub use recorder::PreviewWindowChip;
pub use recorder::RecordingState;
pub use recorder::RecordingToolbar;
pub use recorder::SaveFormat;
pub use recorder::SavePanel;
pub use recorder::SavePanelView;
pub use recorder::SystemAudioAppList;
pub use recorder::SystemAudioRow;
pub use recorder::SystemAudioView;
pub use recorder::aspect_ratio_css;
pub use recorder::format_selection_count;
pub use shell::AppSection;
pub use shell::AppShell;
pub use shell::DropZone;
pub use shell::DropZoneState;
pub use shell::NavItemView;
pub use shell::NavigationRail;
pub use shell::StatusBar;
pub use shell::StatusKind;
pub use shell::UserAvatar;
pub use shell::UserAvatarView;
pub use shell::WorkspaceBadge;
pub use shell::WorkspaceBadgeView;
pub use shell::WorkspaceSwitcherMenu;
pub use shell::WorkspaceView;
pub use shell::format_member_count;

Modules§

cursor
Cursor Studio components — cursor style picker shell, cursor preview canvas with a Wisp-backed render path. Filled in across UI-20 / UI-21.
editor
Editor components — editor shell, Wisp canvas host, inspector panel, timeline skeleton, dope sheet, player controls. Filled in across UI-16 through UI-19; pre-existing dope-sheet and player-controls live here.
library
Library components — sidebar with storage meter, recording cards in a grid. Filled in across UI-14 / UI-15.
menus
Shared menu + popover primitives (M-UI.3 / AUT-123).
primitives
Foundational primitives — Button, Card, Surface, Badge, Divider, Kbd, IconTile, IconButton, ToggleSwitch, SegmentedControl, Slider, SelectPill, ColorSwatch, Meter. The most reusable layer; downstream feature components in shell / recorder / editor / cursor / menus / library consume them.
recorder
Recorder components — the tray recorder popover, capture-mode tabs, device pickers, audio source list, on-screen overlay options, recording-controls footer. Filled in across UI-06 through UI-13.
shell
Shell components — chrome that frames the application: AppShell top-level layout, NavigationRail left-edge nav, WorkspaceBadge + UserAvatar rail caps, WorkspaceSwitcherMenu, DropZone, StatusBar.