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