Tailwind classes in OCaml
1(** Main Tailwind API module *)
2
3(** The main type representing a collection of Tailwind classes *)
4type t = Css.t
5
6(** Module aliases for accessing individual utilities *)
7module Css = Css
8module Color = Color
9module Size = Size
10module Spacing = Spacing
11module Display = Display
12module Flexbox = Flexbox
13module Grid = Grid
14module Position = Position
15module Layout = Layout
16module Typography = Typography
17module Effects = Effects
18module Responsive = Responsive
19module Variants = Variants
20
21(** Combine multiple CSS classes *)
22val tw : Css.t list -> Css.t
23
24(** Conditionally include classes *)
25val class_list : (Css.t * bool) list -> Css.t
26
27(** Convert CSS classes to string *)
28val to_string : t -> string
29
30(** Common utility patterns *)
31
32(** Centers content using flexbox *)
33val flex_center : t
34
35(** Centers content absolutely *)
36val absolute_center : t
37
38(** Screen reader only (visually hidden but accessible) *)
39val sr_only : t
40
41(** Focus ring utility *)
42val focus_ring : ?color:Color.t -> ?width:Effects.border_width -> unit -> t
43
44(** Container with responsive max-widths *)
45val container : ?center:bool -> unit -> t
46
47(** Reset styles for buttons *)
48val button_reset : t
49
50(** Reset styles for inputs *)
51val input_reset : t
52
53(** Common transition utilities *)
54val transition : [`None | `All | `Colors | `Opacity | `Shadow | `Transform] -> t
55
56(** Duration utilities (in ms) *)
57val duration : int -> t
58
59(** Ease timing functions *)
60val ease : [`Linear | `In | `Out | `In_out] -> t
61
62(** V4 specific features *)
63module V4 : sig
64 (** Container query support *)
65 val container_query : Responsive.container_size -> t -> t
66
67 (** Starting style animation *)
68 val starting_style : t -> t
69
70 (** Text shadow utilities *)
71 val text_shadow : [`None | `Sm | `Base | `Lg | `Xl] -> t
72
73 (** Mask utilities *)
74 val mask : [`Auto | `Cover | `Contain] -> t
75
76 (** 3D perspective *)
77 val perspective : [`None | `Distant | `Normal | `Near] -> t
78end