tailwind_css/systems/instruction/
mod.rs

1mod arbitrary;
2mod display;
3mod methods;
4mod resolver;
5pub use self::arbitrary::TailwindArbitrary;
6use crate::{TailwindBuilder, *};
7use css_color::Srgb;
8use std::{
9    fmt::{Debug, Display, Formatter},
10    str::FromStr,
11};
12use tailwind_ast::{parse_fraction, ASTVariant, AstStyle};
13
14/// `v:v:-a-a-[A]`
15#[derive(Debug, Clone)]
16pub struct TailwindInstruction {
17    negative: Negative,
18    variants: Vec<TailwindVariant>,
19    elements: TailwindElements,
20    arbitrary: TailwindArbitrary,
21}
22
23#[derive(Debug, Clone)]
24pub struct TailwindVariant {
25    not: bool,
26    pseudo: bool,
27    names: Vec<String>,
28}
29
30#[derive(Debug, Clone)]
31pub struct TailwindElements {
32    inner: Vec<String>,
33}
34
35/// <https://github.com/tw-in-js/twind/blob/main/src/twind/variants.ts>
36#[derive(Copy, Clone, Debug)]
37pub enum TailwindVariantKind {
38    Dark,
39    Sticky,
40    MotionReduce,
41    MotionSafe,
42    First,
43    Last,
44    Even,
45    Odd,
46    Children,
47    Siblings,
48    Sibling,
49    Override,
50}