Seed Bootstrap
==============
[![crates.io](https://img.shields.io/crates/v/seed-bootstrap.svg)](https://crates.io/crates/seed-bootstrap)
[![build status](https://panoptix.semaphoreci.com/badges/seed-bootstrap/branches/main.svg)](https://panoptix.semaphoreci.com/projects/seed-bootstrap)
A collection of frontend components to make it convenient to use the
[Bootstrap](https://getbootstrap.com/) CSS components together with
the [Seed](https://seed-rs.org/) framework for creating Single Page
Web Applications in Rust.
## Usage
This project assumes that you have an existing web application that
uses the Seed framework. If you do not, refer to the [Seed
quickstart](https://github.com/seed-rs/seed-quickstart) project to get
started.
Depend on Seed Bootstrap in your Cargo.toml like a normal Rust library.
```
[dependencies]
seed = "0.8"
seed-bootstrap = "0.1"
```
See [Bootstrap's documentation](https://getbootstrap.com/docs/4.5/getting-started/introduction/)
on how to include Bootstrap in your application.
Seed Bootstrap provides a number of builders that can be used as part
of your Seed view functions. For example, this is how you can create a
variety of Bootstrap-style buttons.
```
use seed_bootstrap::components::button::{Button, Role, Type};
fn view(model: &Model) -> Node<Msg> {
div![
Button::new("Primary"),
" ",
Button::new("Secondary").secondary(),
" ",
Button::new("Success").success(),
" ",
Button::new("Danger").danger(),
" ",
Button::new("Warning").warning(),
" ",
Button::new("Info").info(),
" ",
Button::new("Light").light(),
" ",
Button::new("Dark").dark(),
" ",
Button::new("Link").link(),
]
}
```
## Running the Demo
A demo of all of the components are included in this repo.
From a clean Rustup-based Rust install, you need to install the
WebAssembly target and Wasm-pack to build the demo. You can do so with
these commands:
- `rustup target add wasm32-unknown-unknown`
- `cargo install wasm-pack`
After that, open a terminal in the [example
directory](./example). Then, run `cargo run`. Then, open a web browser
and navigate to <http://localhost:3030/>. You should see a catalog of
components.
## License
Licensed under either of
* Apache License, Version 2.0
([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license
([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.