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.Patterns.flex_center in 8 let focus_ring_classes = Tailwind.focus_ring () in 9 let container_classes = Tailwind.Patterns.container ~center:true () in 10 11 (* Reset utilities *) 12 let button_reset = Tailwind.Reset.button in 13 let input_reset = Tailwind.Reset.input in 14 let sr_only = Tailwind.sr_only in 15 16 (* Transitions *) 17 let transition_all = Tailwind.Effects.transition `All in 18 let duration_300 = Tailwind.Effects.duration 300 in 19 let ease_in_out = Tailwind.Effects.ease `In_out in 20 21 (* Conditional classes *) 22 let conditional_classes = Tailwind.class_list [ 23 (Tailwind.Patterns.flex_center, true); 24 (Tailwind.Reset.button, 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)