iced_plus_tokens 0.1.0

Design tokens for iced-plus: colors, typography, spacing, elevation, and motion
Documentation
  • Coverage
  • 100%
    227 out of 227 items documented1 out of 73 items with examples
  • Size
  • Source code size: 55.95 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 9.91 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 14s Average build duration of successful builds.
  • all releases: 14s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • Documentation
  • neul-labs/iced-plus
    4 0 1
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • dipankar

iced-plus

Crates.io Documentation License: MIT Rust Version CI

An opinionated companion toolkit for building ambitious desktop apps with iced. The goal is to make iced feel like a complete framework by pairing it with batteries that cover real-world desktop needs—cohesive styling primitives, scalable layouts, pre-built widgets, and consistent 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.