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