#tailwind #css-class #macro #class-name #helper #generated #element

tailwindcss-to-rust-macros

Helpers macros for using the Rust code generated by tailwindcss-to-rust

4 releases

0.1.3 Feb 19, 2023
0.1.2 Feb 17, 2022
0.1.1 Feb 8, 2022
0.1.0 Feb 8, 2022

#9 in #class-name

Apache-2.0 OR MIT

405KB
196 lines

Helper macros for using the code generated by tailwindcss-to-rust.

The generated code provides a number of static structs where each field is a class name or modifier (like "lg" or "hover"). In typical use, you need to combine multiple names and modifiers into a single string to be set as an element's class attribute. This crate provides two macros to make using this a bit more ergonomic.

A Dioxus example:

// Note that you have to write this css module to tie it all together.
use css::*;
use dioxus_prelude::*;

fn SomeComponent(cx: Scope) -> Element {
    cx.render(rsx! {
        div {
            // "grid-cols-3 md:grid-cols-6 lg:grid-cols-12"
            class: DC![
                C::fg::grid-cols-3,
                M![M::md, C::fg::grid-cols-6],
                M![M::lg, C::fg::grid-cols-12]
            ],
            div {
                // "text-lg text-white"
                class: DC![C::typ::text_lg, C::typ::text_white],
            }
        }
    })
}

No runtime deps