Tailwind classes in OCaml
1(* Example showcasing the advanced features that were implemented from placeholders *)
2
3let () =
4 Printf.printf "=== Advanced Tailwind Features ===\n";
5
6 (* V4 Container Queries *)
7 let container_responsive = Tailwind.V4.container_query Tailwind.Responsive.Lg
8 (Tailwind.Css.make "text-2xl") in
9 Printf.printf "Container Query (V4): %s\n" (Tailwind.to_string container_responsive);
10
11 (* V4 Starting Style *)
12 let starting_animation = Tailwind.V4.starting_style
13 (Tailwind.Css.make "opacity-0") in
14 Printf.printf "Starting Style (V4): %s\n" (Tailwind.to_string starting_animation);
15
16 (* V4 Text Shadow *)
17 let text_shadow = Tailwind.V4.text_shadow `Lg in
18 Printf.printf "Text Shadow (V4): %s\n" (Tailwind.to_string text_shadow);
19
20 (* Advanced Variants - Pseudo-classes *)
21 let hover_effect = Tailwind.Variants.hover (Tailwind.Css.make "bg-blue-600") in
22 Printf.printf "Hover Effect: %s\n" (Tailwind.to_string hover_effect);
23
24 let focus_visible = Tailwind.Variants.apply
25 (Tailwind.Variants.pseudo Focus_visible (Tailwind.Css.make "ring-2"))
26 (Tailwind.Css.make "input") in
27 Printf.printf "Focus Visible: %s\n" (Tailwind.to_string focus_visible);
28
29 (* Responsive with Media Features *)
30 let dark_mode = Tailwind.Responsive.(apply
31 (media Dark (Tailwind.Css.make "bg-gray-900"))
32 (Tailwind.Css.make "bg-white")) in
33 Printf.printf "Dark Mode: %s\n" (Tailwind.to_string dark_mode);
34
35 let motion_safe = Tailwind.Responsive.(apply
36 (media Motion_safe (Tailwind.Css.make "transition-all"))
37 (Tailwind.Css.make "transform")) in
38 Printf.printf "Motion Safe: %s\n" (Tailwind.to_string motion_safe);
39
40 (* Advanced Effects *)
41 let backdrop_blur = Tailwind.Effects.(to_class (backdrop_blur `Lg)) in
42 Printf.printf "Backdrop Blur: %s\n" (Tailwind.to_string backdrop_blur);
43
44 let transform_origin = Tailwind.Effects.(to_class (transform_origin Top_right)) in
45 Printf.printf "Transform Origin: %s\n" (Tailwind.to_string transform_origin);
46
47 let scale_transform = Tailwind.Effects.(to_class (scale `X 125)) in
48 Printf.printf "Scale Transform: %s\n" (Tailwind.to_string scale_transform);
49
50 let rotate_transform = Tailwind.Effects.(to_class (rotate 45)) in
51 Printf.printf "Rotate Transform: %s\n" (Tailwind.to_string rotate_transform);
52
53 let translate_transform = Tailwind.Effects.(to_class (translate `Y (Tailwind.Size.rem 2.0))) in
54 Printf.printf "Translate Transform: %s\n" (Tailwind.to_string translate_transform);
55
56 (* Complex Combination *)
57 let complex_card = Tailwind.tw [
58 Tailwind.Color.bg (Tailwind.Color.make White ());
59 Tailwind.Effects.rounded_lg;
60 Tailwind.Effects.shadow_md;
61 backdrop_blur;
62 Tailwind.Spacing.(to_class (p (Tailwind.Size.rem 1.5)));
63 Tailwind.Effects.(to_class (transform `Gpu));
64 Tailwind.transition `All;
65 hover_effect;
66 ] in
67 Printf.printf "Complex Card: %s\n" (Tailwind.to_string complex_card)