Tailwind classes in OCaml
1(** Layout component module *) 2 3(** Layout configuration *) 4type t 5 6(** Container sizes *) 7type container_size = 8 | Sm 9 | Md 10 | Lg 11 | Xl 12 | Xl2 13 | Full 14 | Fluid 15 16(** Create a container *) 17val container : 18 ?size:container_size -> 19 ?center:bool -> 20 ?padding:bool -> 21 ?classes:Tailwind.t -> 22 ?attributes:(string * string) list -> 23 children:Htmlit.El.html list -> 24 unit -> t 25 26(** Create a flex container *) 27val flex : 28 ?direction:Tailwind.Flexbox.direction -> 29 ?justify:Tailwind.Flexbox.justify -> 30 ?align:Tailwind.Flexbox.align_items -> 31 ?wrap:Tailwind.Flexbox.wrap -> 32 ?gap:Tailwind.Size.t -> 33 ?classes:Tailwind.t -> 34 ?attributes:(string * string) list -> 35 children:Htmlit.El.html list -> 36 unit -> t 37 38(** Create a grid container *) 39val grid : 40 ?cols:Tailwind.Grid.cols -> 41 ?rows:Tailwind.Grid.rows -> 42 ?gap:Tailwind.Size.t -> 43 ?gap_x:Tailwind.Size.t -> 44 ?gap_y:Tailwind.Size.t -> 45 ?flow:Tailwind.Grid.flow -> 46 ?classes:Tailwind.t -> 47 ?attributes:(string * string) list -> 48 children:Htmlit.El.html list -> 49 unit -> t 50 51(** Create a stack (vertical flex) *) 52val stack : 53 ?gap:Tailwind.Size.t -> 54 ?align:Tailwind.Flexbox.align_items -> 55 ?classes:Tailwind.t -> 56 ?attributes:(string * string) list -> 57 children:Htmlit.El.html list -> 58 unit -> t 59 60(** Create a row (horizontal flex) *) 61val row : 62 ?gap:Tailwind.Size.t -> 63 ?justify:Tailwind.Flexbox.justify -> 64 ?align:Tailwind.Flexbox.align_items -> 65 ?wrap:bool -> 66 ?classes:Tailwind.t -> 67 ?attributes:(string * string) list -> 68 children:Htmlit.El.html list -> 69 unit -> t 70 71(** Create a sidebar layout *) 72val sidebar : 73 ?side:[`Left | `Right] -> 74 ?width:Tailwind.Size.t -> 75 ?collapsible:bool -> 76 ?classes:Tailwind.t -> 77 ?attributes:(string * string) list -> 78 sidebar:Htmlit.El.html -> 79 content:Htmlit.El.html -> 80 unit -> t 81 82(** Create a header/main/footer layout *) 83val page : 84 ?header:Htmlit.El.html -> 85 ?footer:Htmlit.El.html -> 86 ?sidebar:Htmlit.El.html -> 87 ?classes:Tailwind.t -> 88 ?attributes:(string * string) list -> 89 main:Htmlit.El.html -> 90 unit -> t 91 92(** Convert layout to Htmlit element *) 93val to_html : t -> Htmlit.El.html 94 95(** Create a spacer element *) 96val spacer : ?size:Tailwind.Size.t -> unit -> Htmlit.El.html 97 98(** Create a divider *) 99val divider : 100 ?orientation:[`Horizontal | `Vertical] -> 101 ?classes:Tailwind.t -> 102 unit -> Htmlit.El.html