Tailwind classes in OCaml
1(** Main Tailwind-HTML integration module *) 2 3(** Convert Tailwind classes to HTML class attribute *) 4val classes_attr : Tailwind.t -> Htmlit.At.t 5 6(** Apply Tailwind classes to an Htmlit element *) 7val with_classes : Tailwind.t -> Htmlit.El.html -> Htmlit.El.html 8 9(** Apply Tailwind classes conditionally *) 10val with_classes_if : bool -> Tailwind.t -> Htmlit.El.html -> Htmlit.El.html 11 12(** Create an element with Tailwind classes *) 13val el : 14 string -> (* tag name *) 15 ?classes:Tailwind.t -> 16 ?attributes:(string * string) list -> 17 Htmlit.El.html list -> (* children *) 18 Htmlit.El.html 19 20(** Common HTML elements with Tailwind support *) 21val div : ?classes:Tailwind.t -> ?attributes:(string * string) list -> Htmlit.El.html list -> Htmlit.El.html 22val span : ?classes:Tailwind.t -> ?attributes:(string * string) list -> Htmlit.El.html list -> Htmlit.El.html 23val p : ?classes:Tailwind.t -> ?attributes:(string * string) list -> Htmlit.El.html list -> Htmlit.El.html 24val a : ?classes:Tailwind.t -> ?attributes:(string * string) list -> href:string -> Htmlit.El.html list -> Htmlit.El.html 25val img : ?classes:Tailwind.t -> ?attributes:(string * string) list -> src:string -> alt:string -> unit -> Htmlit.El.html 26val ul : ?classes:Tailwind.t -> ?attributes:(string * string) list -> Htmlit.El.html list -> Htmlit.El.html 27val ol : ?classes:Tailwind.t -> ?attributes:(string * string) list -> Htmlit.El.html list -> Htmlit.El.html 28val li : ?classes:Tailwind.t -> ?attributes:(string * string) list -> Htmlit.El.html list -> Htmlit.El.html 29 30(** Utility functions for colors and sizes *) 31val blue : int -> Tailwind.Color.t 32val gray : int -> Tailwind.Color.t 33val red : int -> Tailwind.Color.t 34val green : int -> Tailwind.Color.t 35val rem : float -> Tailwind.Size.t 36val px : Tailwind.Size.t 37val zero : Tailwind.Size.t 38val auto : Tailwind.Size.t 39val full : Tailwind.Size.t 40val screen : Tailwind.Size.t 41val txt : string -> Htmlit.El.html 42 43(** Common utility classes *) 44val flex : Tailwind.t 45val flex_col : Tailwind.t 46val items_center : Tailwind.t 47val justify_center : Tailwind.t 48val justify_between : Tailwind.t 49val font_bold : Tailwind.t 50val font_semibold : Tailwind.t 51val text_center : Tailwind.t 52val w_full : Tailwind.t 53val h_full : Tailwind.t 54val rounded_lg : Tailwind.t 55val rounded_md : Tailwind.t 56val shadow_md : Tailwind.t 57val shadow_lg : Tailwind.t 58 59(** Enhanced element functions with styling parameters *) 60val h1 : 61 ?size:[`Xl | `Xl2 | `Xl3 | `Xl4] -> 62 ?weight:[`Bold | `Semibold | `Medium] -> 63 ?color:Tailwind.Color.t -> 64 ?align:[`Center | `Left | `Right] -> 65 ?mb:Tailwind.Size.t -> 66 ?classes:Tailwind.t -> 67 Htmlit.El.html list -> 68 Htmlit.El.html 69 70val h2 : 71 ?size:[`Lg | `Xl | `Xl2] -> 72 ?weight:[`Bold | `Semibold | `Medium] -> 73 ?color:Tailwind.Color.t -> 74 ?align:[`Center | `Left | `Right] -> 75 ?mb:Tailwind.Size.t -> 76 ?classes:Tailwind.t -> 77 Htmlit.El.html list -> 78 Htmlit.El.html 79 80val p_styled : 81 ?size:[`Sm | `Base | `Lg] -> 82 ?color:Tailwind.Color.t -> 83 ?align:[`Center | `Left | `Right] -> 84 ?mb:Tailwind.Size.t -> 85 ?classes:Tailwind.t -> 86 Htmlit.El.html list -> 87 Htmlit.El.html 88 89(** Simple component functions *) 90val container : Htmlit.El.html list -> Htmlit.El.html 91val flex_center : Htmlit.El.html list -> Htmlit.El.html 92val card : ?elevated:bool -> ?padding:bool -> Htmlit.El.html list -> Htmlit.El.html 93 94val btn_primary : 95 ?size:[`Sm | `Md | `Lg] -> 96 ?disabled:bool -> 97 Htmlit.El.html list -> 98 Htmlit.El.html 99 100val btn_secondary : 101 ?size:[`Sm | `Md | `Lg] -> 102 ?disabled:bool -> 103 Htmlit.El.html list -> 104 Htmlit.El.html 105 106(** Text element with typography utilities *) 107val text : 108 ?size:Tailwind.Typography.font_size -> 109 ?weight:Tailwind.Typography.font_weight -> 110 ?color:Tailwind.Color.t -> 111 ?align:Tailwind.Typography.text_align -> 112 ?classes:Tailwind.t -> 113 string -> (* text content *) 114 Htmlit.El.html