Source file skyline_theme_v1.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
open! Core
open! Bonsai_web

module Accent = struct
  type t =
    [ `Blue
    | `Clay
    | `Lavender
    | `Marina
    | `Moss
    | `Mud
    ]
  [@@deriving sexp, compare, equal]

  let to_css = function
    | `Blue -> Private_skyline_theme.Colors.Constants.blue
    | `Clay -> Private_skyline_theme.Colors.Constants.clay
    | `Lavender -> Private_skyline_theme.Colors.Constants.lavender
    | `Marina -> Private_skyline_theme.Colors.Constants.marina
    | `Moss -> Private_skyline_theme.Colors.Constants.moss
    | `Mud -> Private_skyline_theme.Colors.Constants.mud
  ;;

  let to_string_css t = Css_gen.Color.to_string_css (to_css t)
end

module Color = struct
  type t = Css_gen.Color.t [@@deriving sexp, compare, equal]

  let to_css (t : [< t ]) = (t :> t)
  let to_string_css = Css_gen.Color.to_string_css
end

(* Public exports. *)
module Style = Private_skyline_theme.Style
include Private_skyline_theme.Colors.Constants