(** Visual effects: borders, shadows, opacity, transforms *) (** Effects configuration *) type t (** Border width *) type border_width = [ | `None | `Px | `Px2 | `Px4 | `Px8 ] (** Border style *) type border_style = [ | `Solid | `Dashed | `Dotted | `Double | `Hidden | `None ] (** Border radius *) type border_radius = [ | `None | `Sm | `Base | `Md | `Lg | `Xl | `Xl2 | `Xl3 | `Full ] (** Shadow size *) type shadow = [ | `None | `Sm | `Base | `Md | `Lg | `Xl | `Xl2 | `Inner ] (** Opacity level *) type opacity = int (** 0-100 *) (** Transform origin *) type transform_origin = [ | `Center | `Top | `Top_right | `Right | `Bottom_right | `Bottom | `Bottom_left | `Left | `Top_left ] (** Set border width *) val border_width : [`All | `X | `Y | `Top | `Right | `Bottom | `Left] -> border_width -> t (** Set border style *) val border_style : border_style -> t (** Set border color *) val border_color : Color.t -> t (** Set border radius *) val rounded : [`All | `Top | `Right | `Bottom | `Left | `Tl | `Tr | `Br | `Bl] -> border_radius -> t (** Set box shadow *) val shadow : shadow -> t (** Set opacity *) val opacity : opacity -> t (** Set backdrop blur *) val backdrop_blur : [`None | `Sm | `Base | `Md | `Lg | `Xl | `Xl2 | `Xl3] -> t (** Set transform *) val transform : [`None | `Gpu] -> t (** Set transform origin *) val transform_origin : transform_origin -> t (** Set scale (percentage) *) val scale : [`All | `X | `Y] -> int -> t (** Set rotate (degrees) *) val rotate : int -> t (** Set translate *) val translate : [`X | `Y] -> Size.t -> t (** Convert to CSS class *) val to_class : t -> Css.t (** Common border utilities *) val border : Css.t val border_2 : Css.t val border_4 : Css.t val rounded_sm : Css.t val rounded_md : Css.t val rounded_lg : Css.t val rounded_full : Css.t val shadow_sm : Css.t val shadow_md : Css.t val shadow_lg : Css.t (** Animation and transition utilities *) (** Transition properties *) type transition_property = [ | `None | `All | `Colors | `Opacity | `Shadow | `Transform ] (** Timing functions *) type timing_function = [ | `Linear | `In | `Out | `In_out ] (** Transition utilities *) val transition : transition_property -> Css.t (** Duration utilities (in ms) *) val duration : int -> Css.t (** Ease timing functions *) val ease : timing_function -> Css.t (** Text shadow utilities *) val text_shadow : [`None | `Sm | `Base | `Lg | `Xl] -> Css.t (** Mask utilities *) val mask : [`Auto | `Cover | `Contain] -> Css.t (** 3D perspective *) val perspective : [`None | `Distant | `Normal | `Near] -> Css.t