bevy_mod_stylebuilder 0.1.1

A set of fluent builder utilities for Bevy UI styles.
Documentation
# bevy_mod_stylebuilder

This crate provides a set of low-level utilities for configuring `bevy_ui` styles using a fluent
API. A `StyleBuilder` is an object that understands how to insert, remove, and modify Bevy style
components such as `Style`, `BackgroundColor` and so on, as well as the `Pickable` component used
by `bevy_mod_picking`.

`StyleBuilder` is extensible by implementing additional traits. In fact, all of the fluent methods
are trait methods.

```rust
use bevy_mod_stylebuilder::prelude::*;

fn style_button(ss: &mut StyleBuilder) {
    ss.border(1)
        .display(ui::Display::Flex)
        .flex_direction(ui::FlexDirection::Row)
        .justify_content(ui::JustifyContent::Center)
        .align_items(ui::AlignItems::Center)
        .align_content(ui::AlignContent::Center)
        .padding((12, 0))
        .border(0)
        .color(colors::FOREGROUND)
        .cursor(CursorIcon::Pointer);
}
```

In most cases, you won't need to instantiate a `StyleBuilder` object yourself, the UI framework
will pass one to you as a callback parameter. For framework authors, however, here are the steps
needed to create a new `StyleBuilder`:

```rust
/// Construct a new StyleBuilder instance with the entity and `Styles` component.
let mut sb = StyleBuilder::new(&mut target, style);
/// Apply one or more style functions.
self.styles.apply(&mut sb);
/// Call `.finish()` to write out the changes.
sb.finish();
```

Most style components such as `BackgroundColor` are modified immediately, however `Style` is
treated as a special case because it has so many properties: it's cached in the `StyleBuilder`
instance and then flushed out at the end via `finish()`.