Skip to content

neul-labs/iced-plus

Repository files navigation

iced-plus

Batteries included for iced.

Crates.io Documentation License: MIT Rust Version CI

Production-ready design tokens, layouts, components, and platform APIs that turn iced into a complete desktop framework. Ship polished apps faster with 30+ pre-built widgets, consistent theming, and cross-platform system integration.

Features

  • Design Tokens: Tailwind/Chakra-inspired design tokens with preset light/dark themes
  • Theme Bridge: Adapters that wire tokens into iced Theme + widget StyleSheets
  • Layouts: Shells, split panes, stacks (HStack/VStack), overlay managers, and responsive rules
  • Components: 30+ pre-built widgets including buttons, inputs, cards, modals, tabs, and more
  • Platform Integration: Unified APIs for system tray, notifications, hotkeys, and window management

Installation

Add to your Cargo.toml:

[dependencies]
iced_plus = "0.1"

Or pick individual crates:

[dependencies]
iced_plus_tokens = "0.1"      # Design tokens only
iced_plus_theme = "0.1"       # Theme bridge
iced_plus_layouts = "0.1"     # Layout primitives
iced_plus_components = "0.1"  # UI components
iced_plus_platform = "0.1"    # Desktop platform APIs

Quick Start

use iced_plus::prelude::*;

// Use design tokens for consistent styling
let theme = Theme::light();

// Build layouts with stacks
let content = VStack::new()
    .push(Button::primary("Click me"))
    .push(TextInput::new("Enter text..."))
    .spacing(Spacing::md());

Feature Status

Feature Status Notes
Design Tokens Stable Full token system with light/dark presets
Theme Bridge Stable Adapts tokens to iced styling
Layouts Stable HStack, VStack, AppShell, Split, Responsive
Core Components Stable Button, Text, Input, Card, Badge, etc.
Audio Controls UI Stable UI controls only
Video Controls UI Stable Audio controls + fullscreen button
Audio/Video Player Not Implemented UI only - requires manual backend integration (see rodio example)
Audio/Video Recorder Experimental UI ready, needs platform mic/camera integration
WebView Experimental System browser works, embedded needs wry feature
System Tray Stable Cross-platform tray icon and menu
Notifications Stable Native OS notifications
Hotkeys Stable Global hotkey registration

Note: Audio and video playback is not built-in. The library provides UI controls and state management, but actual media playback must be integrated manually using libraries like rodio for audio. See the kitchen sink example for reference implementations.

Crates

Crate Description
iced_plus Umbrella crate that re-exports all sub-crates
iced_plus_tokens Design tokens: colors, typography, spacing, elevation
iced_plus_theme Theme bridge adapting tokens to iced styling
iced_plus_layouts Layout primitives: stacks, shells, split panes
iced_plus_components 30+ pre-built UI components
iced_plus_platform Desktop platform APIs: tray, notifications, hotkeys

Documentation

Platform Support

Platform Status
Linux (X11) Supported
Linux (Wayland) Supported
macOS Supported
Windows Supported

Examples

Run the kitchen sink demo to see all features:

cargo run -p kitchen_sink

# With optional features
cargo run -p kitchen_sink --features audio,webcam,webview

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Batteries included for iced (rust gui toolkit).

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages