Tailwind classes in OCaml
1(* Basic usage examples for the Tailwind OCaml library *)
2
3(* This example shows how to use the library in its current form *)
4
5let () =
6 (* The current implementation provides these utilities *)
7 let flex_center_classes = Tailwind.flex_center in
8 let focus_ring_classes = Tailwind.focus_ring () in
9 let container_classes = Tailwind.container ~center:true () in
10
11 (* Utility patterns *)
12 let button_reset = Tailwind.button_reset in
13 let input_reset = Tailwind.input_reset in
14 let sr_only = Tailwind.sr_only in
15
16 (* Transitions *)
17 let transition_all = Tailwind.transition `All in
18 let duration_300 = Tailwind.duration 300 in
19 let ease_in_out = Tailwind.ease `In_out in
20
21 (* Conditional classes *)
22 let conditional_classes = Tailwind.class_list [
23 (Tailwind.flex_center, true);
24 (Tailwind.button_reset, false);
25 ] in
26
27 Printf.printf "=== Tailwind OCaml Library Usage Examples ===\n";
28 Printf.printf "Flex center: %s\n" (Tailwind.to_string flex_center_classes);
29 Printf.printf "Focus ring: %s\n" (Tailwind.to_string focus_ring_classes);
30 Printf.printf "Container: %s\n" (Tailwind.to_string container_classes);
31 Printf.printf "Button reset: %s\n" (Tailwind.to_string button_reset);
32 Printf.printf "Input reset: %s\n" (Tailwind.to_string input_reset);
33 Printf.printf "Screen reader only: %s\n" (Tailwind.to_string sr_only);
34 Printf.printf "Transition all: %s\n" (Tailwind.to_string transition_all);
35 Printf.printf "Duration 300ms: %s\n" (Tailwind.to_string duration_300);
36 Printf.printf "Ease in-out: %s\n" (Tailwind.to_string ease_in_out);
37 Printf.printf "Conditional classes: %s\n" (Tailwind.to_string conditional_classes);
38
39 (* Combining classes *)
40 let combined_classes = Tailwind.tw [
41 flex_center_classes;
42 container_classes;
43 transition_all;
44 ] in
45 Printf.printf "Combined classes: %s\n" (Tailwind.to_string combined_classes)