grimoire_css_color_toolkit 1.0.0

CSS Color Module Level 4 compliant color manipulation toolkit
Documentation
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->

- [Grimoire CSS Color Toolkit]#grimoire-css-color-toolkit
  - [Installation]#installation
  - [Quick Start]#quick-start
  - [Methods]#methods
  - [Features]#features

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

# Grimoire CSS Color Toolkit

CSS Color Module Level 4 compliant color manipulation toolkit, strictly follows CSS specifications.

## Installation

```bash
# CLI tool
cargo install grimoire_css_color_toolkit

# Library
cargo add grimoire_css_color_toolkit
```

## Quick Start

**Library:**

```rust
use grimoire_css_color_toolkit_lib::Color;

let red = Color::try_from_str("red").unwrap();
let lighter = red.lighten(20.0);
let mixed = Color::mix(red, Color::try_from_str("blue").unwrap(), 50.0);
println!("{}", mixed.to_hex_string()); // "#800080"
```

**CLI:**

```bash
# CLI examples
grimoire_css_color_toolkit lighten "red" 20    # #ff6666
grimoire_css_color_toolkit mix "red" "blue" 50 # #800080
grimoire_css_color_toolkit to-hsl "#ff0000"    # 0 100 50
```

## Methods

| Method           | Description                                 |
| ---------------- | ------------------------------------------- |
| `new`            | Create RGBA color from components           |
| `from-rgb`       | Create color from RGB values                |
| `from-hsl`       | Create color from HSL values                |
| `from-hwb`       | Create color from HWB values                |
| `from-hex`       | Parse hex color string                      |
| `parse`          | Parse any CSS color string                  |
| `red`            | Get red channel value                       |
| `green`          | Get green channel value                     |
| `blue`           | Get blue channel value                      |
| `alpha`          | Get alpha channel value                     |
| `opacity`        | Get opacity value (same as alpha)           |
| `to-hsl`         | Convert to HSL format                       |
| `to-rgba`        | Convert to RGBA format                      |
| `to-hex`         | Convert to hex format                       |
| `to-named`       | Convert to named color if possible          |
| `grayscale`      | Convert to grayscale                        |
| `complement`     | Get complement color                        |
| `invert`         | Invert color                                |
| `mix`            | Mix two colors                              |
| `adjust-hue`     | Adjust hue by degrees                       |
| `adjust-color`   | Adjust color properties by delta            |
| `change-color`   | Change color properties to absolute values  |
| `scale-color`    | Scale color properties by percentage        |
| `rgba`           | Set alpha channel                           |
| `lighten`        | Increase lightness                          |
| `darken`         | Decrease lightness                          |
| `saturate`       | Increase saturation                         |
| `desaturate`     | Decrease saturation                         |
| `opacify`        | Increase opacity                            |
| `fade-in`        | Increase opacity (alias for opacify)        |
| `transparentize` | Decrease opacity                            |
| `fade-out`       | Decrease opacity (alias for transparentize) |

**Supports all CSS color formats:** hex (`#ff0000`), named (`red`), RGB (`rgb(255,0,0)`), HSL (`hsl(0,100%,50%)`), HWB (`hwb(0 0% 0%)`)

## Features

- **CSS Color Module Level 4 compliant** - Strictly follows CSS specifications
- **32 color manipulation functions** - All standard CSS color operations
- **Multiple formats** - Hex, named colors, RGB, HSL, HWB support
- **Dual interface** - Both CLI tool and Rust library
- **Fast & reliable** - Written in Rust with comprehensive tests