blinc_icons

Crates.ioblinc_icons
lib.rsblinc_icons
version0.1.12
created_at2026-01-14 17:19:44.832877+00
updated_at2026-01-19 00:45:40.669189+00
descriptionLucide icon library for Blinc UI framework
homepage
repositoryhttps://github.com/project-blinc/Blinc
max_upload_size
id2043278
size1,061,031
'Damilare Darmie Akinlaja (darmie)

documentation

https://docs.rs/blinc_icons

README

blinc_icons

Part of the Blinc UI Framework

This crate is a component of Blinc, a GPU-accelerated UI framework for Rust. For full documentation and guides, visit the Blinc documentation.

Lucide icon library for Blinc UI.

Overview

blinc_icons provides 1000+ icons from the Lucide icon set as compile-time constants. Icons are stored as SVG path strings for zero runtime cost.

Features

  • 1000+ Icons: Complete Lucide icon set
  • Zero Cost: Dead code elimination removes unused icons
  • SVG Output: Generate complete SVG strings
  • Customizable: Custom stroke width and colors

Quick Start

use blinc_icons::icons;
use blinc_layout::prelude::*;

// Use in layout
svg(icons::CHECK)
    .size(24.0, 24.0)
    .color(Color::GREEN)

svg(icons::ARROW_RIGHT)
    .size(16.0, 16.0)
    .color(Color::BLUE)

Available Icons

Icons are organized by category. Here are some examples:

Navigation

icons::ARROW_LEFT
icons::ARROW_RIGHT
icons::ARROW_UP
icons::ARROW_DOWN
icons::CHEVRON_LEFT
icons::CHEVRON_RIGHT
icons::MENU
icons::X

Actions

icons::CHECK
icons::PLUS
icons::MINUS
icons::EDIT
icons::TRASH
icons::COPY
icons::DOWNLOAD
icons::UPLOAD
icons::SEARCH
icons::SETTINGS

Media

icons::PLAY
icons::PAUSE
icons::STOP
icons::VOLUME
icons::VOLUME_OFF
icons::IMAGE
icons::VIDEO
icons::MUSIC

Communication

icons::MAIL
icons::MESSAGE_SQUARE
icons::PHONE
icons::SEND
icons::BELL
icons::AT_SIGN

Files

icons::FILE
icons::FOLDER
icons::FOLDER_OPEN
icons::FILE_TEXT
icons::FILE_CODE
icons::SAVE

User

icons::USER
icons::USERS
icons::USER_PLUS
icons::USER_MINUS
icons::LOG_IN
icons::LOG_OUT

Generate SVG String

use blinc_icons::{icons, to_svg, to_svg_colored};

// Basic SVG (24x24, stroke-width 2)
let svg_string = to_svg(icons::CHECK);
// <svg xmlns="..." viewBox="0 0 24 24" ...>...</svg>

// Custom stroke width
let svg_string = to_svg_with_stroke(icons::CHECK, 1.5);

// With custom color
let svg_string = to_svg_colored(icons::CHECK, "#00ff00");

Icon Constants

All icons are &'static str constants containing SVG path data:

// Example icon definition
pub const CHECK: &str = r#"<path d="M20 6 9 17l-5-5"/>"#;

Full Icon List

See the Lucide Icons website for the complete list of available icons. All icon names are converted to SCREAMING_SNAKE_CASE:

  • arrow-rightARROW_RIGHT
  • chevron-downCHEVRON_DOWN
  • file-textFILE_TEXT

License

MIT OR Apache-2.0

Icons are from Lucide under ISC License.

Commit count: 444

cargo fmt